【发布时间】:2018-08-28 06:52:27
【问题描述】:
我是 Vue 新手,我正在尝试使用带有嵌套组件的 Vue 将一个元素与一个相当复杂的数据对象绑定。
我相信我已根据文档正确设置,但我没有看到任何与我的情况完全匹配的示例。
我得到的错误是vue.js:584 [Vue warn]: Property or method "factions" is not defined on the instance but referenced during render. 标记中引用的每个 json 对象属性都会显示此消息。我猜这里缺少一些相对简单的东西,但我无法确定那是什么。感谢您的帮助,谢谢!
这是一个小提琴:https://jsfiddle.net/rjz0gfLn/7/
还有代码:
var x = {
"factions": [
{
"id": 0,
"name": "Unknown",
"img": "Unknown.png"
},
{
"id": 1,
"name": "Light",
"img": "Light.png"
},
{
"id": 2,
"name": "Dark",
"img": "Dark.png"
}
],
"roles": [
{
"id": 0,
"name": "Unknown",
"img": "Unknown.png"
},
{
"id": 1,
"name": "Assassin",
"img": "Assassin.png"
},
{
"id": 2,
"name": "Mage",
"img": "Mage.png"
}
],
"cacheDate": 1521495430225
};
console.log("data object", x);
Vue.component("filter-item", {
template: `<li class="fitem">
<input type="checkbox" class="fcheck" />
<img :src="img" class="fimg" />
<span class="fname">
{{name}}
</span>
</li>`});
Vue.component("filter-items", {
template: `<ul class="flist">
<filter-item v-repeat="factions"></filter-item>
<li class="fseperator"/>
<filter-item v-repeat="roles"></filter-item>
</ul>`});
var v = new Vue({
el: "#filters",
data: x
});
<nav id="filter-drawer">
<ul id="filters" class="flist">
<filter-items></filter-items>
</ul>
</nav>
【问题讨论】:
标签: javascript vue.js