2017-08-30 31 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()'也可以! –