2017-08-30 480 views
0

我试图在computed函数中使用声明的数组变量填充空数组。我试过,但没有运气:如何使用Vue中的方法填充空数组

data: { 
    hashtags: [] 
}, 

computed: { 
    filteredHashtags() { 
    var defaultHashtags = [ '#hr', '#acc', '#sales' ]; 

    var fHashtags = 
    _.chain(messages) 
    .pluck('hashtags') 
    .flatten() 
    .map( 
     function (tag) { 
     return tag && tag.trim() ? '#' + tag : null; }) 
    .filter(Boolean) 
    .value(); 

    fHashtags = _.union(fHashtags, defaultHashtags); 

    return data.hashtags = fHashtags; 
    } 
} 

此外,有没有更好的方法来处理这个?

+0

你是不是要'data.hashtags = fHashtags'来代替?或者我错过了什么? – yuriy636

+0

我是Vue的新人。基本上,我将'fHastags'的值赋给'data'中的'hashtags'。但是,你是对的。我将编辑 –

回答

1

对于此计算属性并不是一个很好的用例,因为计算的值必须被引用才能被调用。相反,只要将其作为一种方法,并在创建Vue时将其称为方法。

data: { 
    hashtags: [] 
}, 
methods: { 
    filterHashtags() { 
    // commented out stuff 

    // set the data property with the filtered values 
    this.hashtags = fHashtags; 
    } 
}, 
created(){ 
    this.filterHashtags(); 
} 
+0

我发现'mounted()'也可以! –