安装组件时,我需要迭代对象文字。但是我很难在.each()
函数中使用道具数据。在each()
函数内部,当我使用console.log
进行检查时,道具数据是"未定义的"。我的代码如下:
[..]
props: {
active_categories: String, // example: "0,1,2,4", might also be NULL
category_list: Array // example: [ 0:{ID:0, Status:0}, 1:{ID:1, Status:0} [..] ]
},
mounted: function(){
// iterate through the prop array 'category_list'
// if an ID of this array is included in the string 'active_categories',
// set 'Status=1'
$.each(this.category_list, function(key, value, active_categories) {
if(active_categories){
if(active_categories.includes(value.ID)){
value.Status = 1;
}
}
});
如何在.each()
函数中引入道具值?
将this
分配给一个名为self
的全局变量,然后在$.each
回调中使用它,因为该回调中的this
有不同的上下文:
mounted: function(){
let self=this
$.each(this.category_list, function(key, value) {
if(self.active_categories){
if(self.active_categories.includes(value.ID)){
value.Status = 1;
}
}
});