2017-02-19 11 views
0

私はvuejsルータを備えた単一ページアプリケーションを構築しています。 ルータは正常に動作しますが、コンポーネントへのルーティング後に特定のスクリプトをロードしたいとします。Vuejsはルーティング後にjsファイルをロードします

SMTHのような:

const Mine = { 
    template: ' <div>Another</div>', 
    load_script: <script src="/static/script.js"></script> 
} 

私はこれをどのように達成することができますか?

は今、私はHTMLで、現在のブロックを持っている:

<div id="routing"> 
    <router-view></router-view> 
</div> 

をそしてこれはJSである:いずれかをロードするために行われているよう

const Mine = {template: ' <div>Another</div>'} 

const routes = [ 
    { path: '/mine', component: Mine }, 
] 

const router = new VueRouter({ 
    routes, 
}) 

const app = new Vue({ 
    router 
}).$mount('#routing') 

答えて

0

あなたは、HTMLテンプレート自体にスクリプトを読み込むことができますHTMLファイルから、あなたはあなたのテンプレートで次のようにすることができます:

const Mine = { 
    template: '<div> \ 
        <script src="/static/script.js"></script> \ 
        <div>Another</div> \ 
       </div>',  
} 
+0

Smth strangeが私に起こります。 'const Bar = {template: '

First
Second
'}'さえ動作しません。 「第1の」のみが「第2の」存在を示さない。従ってあなたの例から実行しているスクリプトだけです。 'Another'が表示されない – Snobby

+1

@Snobby divの' template'ブロック内のすべてを 'div 'の内部でラップしようとします。' const bar = {template:' template: '

First
Second
'} – Saurabh

+0

'div'はうまくいった、ありがとう。しかし、このトリックは 'script'では動作しません。それで 'const Bar = {template: '

First
'}'はうまく動作しません。また、const bar = {テンプレート: '
First
' } '最初のタグだけが実行されます。 – Snobby

関連する問題