2016-12-26 11 views
2

vue.jsアプリ内に描画キャンバス(atrament.js)を生成する外部JSライブラリを使用しようとしています。vue.jsアプリ内で外部jsライブラリを使用する

これを行う正しい方法がわかりません。今私はやっている:

<script type="text/javascript"> 
    var main = new Vue({ 
     el: '#vueapp' 
    }); 
</script> 
<script type="text/javascript">var atr = atrament("canvas", 500, 500);</script> 

そして、私は<canvas></canvas>タグを入れてどこキャンバスが生成されていることとします。

しかし、これは非常にエレガントな選択肢ではなく、vueアプリでは、たとえばキャンバスをクリアするためにvarにアクセスできません。だから、これは正しい方法ですか?

答えて

0

次のように、VUE data変数としてatr変数を持っている必要があります。今

<script type="text/javascript"> 
    var main = new Vue({ 
     el: '#vueapp', 
     data: { 
      atr : atrament("canvas", 500, 500) 
     } 
    }); 
</script> 

atrthis.atr経由VUEのアプリで利用できるようになりますし、あなたはそれで必要な操作を行うことができます。

+0

あなたの答えをありがとう、私はすでにそれを試みましたが、私がそれを行うときにキャンバスは動作しません。何らかの理由でキャンバスが表示されますが、私はペイントできません。 JSコンソールにエラーは表示されません。これを行うとき、私はそれをに置くと "タグが見つかりません"と表示されるので、htmlファイルの最後にvueアプリケーションを読み込んでいます。そのため、キャンバスライブラリは実際に何かをしています。 – user1294122

+0

@ user1294122あなたはそれのフィドルを作成できますか? – Saurabh

0

VueはコンポーネントベースのUIライブラリであるため、のコンポーネントで考える必要があります。

コンポーネントにキャンバスをラップすることを検討してください。親要素は、小道具やイベントを使用して話します。 Vueはそれについて非常にクリーンなドキュメントを持っています:https://vuejs.org/v2/guide/components.html

関連する問題