【发布时间】:2018-02-28 07:18:02
【问题描述】:
我创建了一个组件,用于以漂亮的方式显示一些信息。该组件只是内容的包装器,在父组件内呈现。父组件是这样实现子组件的:
<my-component v-for="item in items" :key="item.id">
<template slot="header">
{{ item.title }}
</template>
<template slot="meta">
<div>
<template v-if="typeof item.additionalData != 'undefined'">
{{ item.additionalData.text }}
</template>
</div>
</template>
</my-component>
它工作正常,直到我想更改数据。 items 是父组件中的一个变量,在渲染时,数据以正确的方式解析。当我在渲染后更改 items 内部的某些内容时,子组件无法识别它。原因是 item.additionalData 是在组件渲染完成后通过 AJAX 调用添加的。
文档说
父模板中的所有内容都在父范围内编译;子模板中的所有内容都在子范围内编译。
但这似乎只在渲染时才成立。
我不能以这种方式使用我的组件还是有解决方案?
【问题讨论】:
-
这里解释了如何等待 Ajax 调用完成,然后渲染:laracasts.com/discuss/channels/vue/…
-
顺便说一句,欢迎来到 StackOverflow。如果以下任何答案解决了您的问题,请务必将最适合您的答案标记为已接受,以便社区可以从您的反馈中受益。如果您的问题仍未解决,请更新您的答案并提供更多信息,以便我们帮助您了解问题的根源。
标签: javascript ajax vue.js