2017-04-19 8 views
0

vue.js2にDocument.getElementByIdをバインドする方法を教えてください。私は、javaScriptファクトリ関数で埋め込みツイートを使用しています。私は.htmlファイルでDOMを取ってvueファイルでツイートを生成しますが、両方が.vueファイルであれば動作しません。私は自分の.vueファイルでDOMを使用し、それをファクトリ関数にバインドする必要があります。vue.js2でDOMをバインドして、javaScriptファクトリ関数でtweetを生成するには?

私はrefとv-elで試しましたが、うまくいきませんでした。

<template> 
    <div class="row" id="home"> 
     <h3 v-if="msg"><span class="label label-warning">{{msg}}</span></h3> 
    </div> 
    <!--<div v-for="tweet in tweetHtml"> 
     <div v-html="tweet"></div> 
    </div>--> 
    </div> 
    <div id="container" ></div> <!-- generated tweet from fun should bind here --> 
</template> 

<script> 
import appService from '../service' 
import bus from '../service/bus' 

export default { 
    data() { 
    return { 
     searchedTopic: '', 
     user_id: '', 
     tweets: {}, 
     tweetHtml: [] 
    } 
    }, 
    created() { 
    // generate tweet with javaScript factory fun <<---=-=-=-= 
    twttr.widgets.createTweet('20', 
    document.getElementById('container'), // <<-- what to do to bind container with vue file's div. 
    { 
     theme: 'light' 
    }) 
    .then(function(el) { 
     console.log('Tweet added.'); 
    }); 
    }, 
    methods: { 

    } 
} 
</script> 
+0

あなたは何をしようとしているのか分かりませんが、 '

'のような '$ refs'を使って、' this。$ refs.container'のようにアクセスできます - 'this'をtwttrオブジェクトに注目してくださいVueインスタンスには参照されませんので、 'var self = this'の前に宣言し、' self。$ refs.container'を使用してください。 –

+0

@BelminBedak私はトライを持っていますが、IDは働いていませんでした。私はそれを言いました。 あなたのコメントの後、もう一度試してみました。 –

答えて

0

DOMノードを取得するだけであれば、refを使用できます。

twttr?これは何ですか?

+0

私が既に書いた答えの点は何ですか? –

+0

私はあなたのポイントを取る。私が出版したときに私はそれを見なかった、申し訳ありません –

+0

@ strive.chenこれを見てくださいhttps://dev.twitter.com/web/embedded-tweets/javascript-create –

関連する問題