2017-07-19 7 views
0

Vuexを使用してAPIから投稿とコメントを取得しています。今、私は持っています:VueJS - 計算後にDOMを操作する

mounted() { 
    this.$store.dispatch('getComments', this.post); 
    }, 

    computed: { 
    comments() { 
     return this.$store.getters.orderedComments; 
    }, 

コメント本文は、HTMLタグを含む文字列です。指定されたクラスのaタグからhref属性を取り除く必要があります。

cleanUnwantedLinks() { 
    const link = document.getElementsByClassName('link-class')[0]; 
    link.removeAttribute('href'); 
    } 

cleanUnwantedLinksを呼び出す方法がわかりません。これは、コンポーネントがマウントされた直後に呼び出されるべきです(コメントがすでにある場合)。それを行う方法はありますか?

+0

は多分 'created'フックにあなたの' dispatch'を移動し、 'mounted'フックに' cleanUnwantedLinks'していますか?ありがとう、@yev! –

答えて

0

あなたgetCommentsアクションからの約束を返します場合は、あなたができる:

this.$store 
    .dispatch('getComments', this.post) 
    .then(() => { 
    cleanUnwantedLinks() 
    /* 
    Can also try wrapping your call in $nextTick 
    this.$nextTick(() => { cleanUnwantedLinks() }) 
    */ 
    }); 
+0

'nextTick'は動作しませんでしたが、約束を繋いでくれました! – foobar