Vuejs2 - 在组件中计算 属性
Vuejs2 - computed property in components
我有一个显示名字的组件。我需要计算每个名字的字母数。
我添加了 nameLength
作为计算 属性 但 vuejs 没有确定这个 属性 在循环中。
var listing = Vue.extend({
template: '#users-template',
data: function () {
return {
query: '',
list: [],
user: '',
}
},
computed: {
computedList: function () {
var vm = this;
return this.list.filter(function (item) {
return item.toLowerCase().indexOf(vm.query.toLowerCase()) !== -1
})
},
nameLength: function () {
return this.length; //calculate length of current item
}
},
created: function () {
this.loadItems();
},
methods: {
loadItems: function () {
this.list = ['mike','arnold','tony']
},
}
});
http://jsfiddle.net/apokjqxx/22/
所以结果是预期的
麦克-4
阿诺德-6
托尼-4
似乎对计算 属性 存在一些误解。
我已经从你那里创建了 fork fiddle,它将根据你的需要工作。
http://jsfiddle.net/6vhjq11v/5/
nameLength: function () {
return this.length; //calculate length of current item
}
在评论中显示 "calculate length of current item"
但是js无法获取当前item的概念
this.length
这将在 Vue 组件上执行长度,而不是在该值上。
计算 属性 在其他 属性 实例和 return 值上工作。
但在这里您没有指定任何内容并使用了它,因此它无法使用任何 属性.
如果您需要更多信息,请发表评论。
我有一个显示名字的组件。我需要计算每个名字的字母数。
我添加了 nameLength
作为计算 属性 但 vuejs 没有确定这个 属性 在循环中。
var listing = Vue.extend({
template: '#users-template',
data: function () {
return {
query: '',
list: [],
user: '',
}
},
computed: {
computedList: function () {
var vm = this;
return this.list.filter(function (item) {
return item.toLowerCase().indexOf(vm.query.toLowerCase()) !== -1
})
},
nameLength: function () {
return this.length; //calculate length of current item
}
},
created: function () {
this.loadItems();
},
methods: {
loadItems: function () {
this.list = ['mike','arnold','tony']
},
}
});
http://jsfiddle.net/apokjqxx/22/
所以结果是预期的
麦克-4
阿诺德-6
托尼-4
似乎对计算 属性 存在一些误解。 我已经从你那里创建了 fork fiddle,它将根据你的需要工作。
http://jsfiddle.net/6vhjq11v/5/
nameLength: function () {
return this.length; //calculate length of current item
}
在评论中显示 "calculate length of current item" 但是js无法获取当前item的概念
this.length
这将在 Vue 组件上执行长度,而不是在该值上。
计算 属性 在其他 属性 实例和 return 值上工作。
但在这里您没有指定任何内容并使用了它,因此它无法使用任何 属性.
如果您需要更多信息,请发表评论。