2017-08-30 15 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には新しいことがあります。基本的に 'data 'の' hashtags'に 'fHastags'の値を代入しています。しかし、ええ、あなたは正しい。私は編集を行います –

答えて

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()'も動作することがわかりました! –

関連する問題