2016-07-05 3 views
1

私は今、プロジェクトに取り組んでおり、私が共有したいいくつかの問題に直面しています。私は流星のために作られていないテーマを買った。それは実際に純粋なHTMLで、私は流星の方法に適応しています。交換されたルートの後にインポートされたJavaScriptファイルが確実に機能するようにする

正しく動作させるために、いくつかのJSファイルをインポートすると言われています。いくつかのトラブルを抱えた後、私はそれらを正しくロードするためにそれが可能だ方法でそれらをインポートするために管理:

Template.ApplicationLayout.onRendered(function() { 
    import '../ui/components/js/core/source/App.js'; 
    import '../ui/components/js/core/source/AppNavigation.js'; 
    import '../ui/components/js/core/source/AppOffcanvas.js'; 
    import '../ui/components/js/core/source/AppCard.js'; 
    import '../ui/components/js/core/source/AppForm.js'; 
    import '../ui/components/js/core/source/AppNavSearch.js'; 
    import '../ui/components/js/core/source/AppVendor.js'; 
}); 

をしかし、私はルートを切り替えたときに、彼らはちょっとそれはHTMLにいくつかのバグを参照することも可能ですが、動作を停止。私はそれを追跡するために鉄のルータを使用しています。

交換ルートに関係なく、JSが正しくロードされ、作業が中断されないようにする方法があるのだろうかと思っていました。

ありがとうございます。

答えて

0

これは流行のJavaScriptではないので、この方法でインポートする必要はありません。これらのファイルをWebrootの "public"というフォルダに追加し、通常のHTMLと同様にレイアウトの 'head'セクションにスクリプトタグを追加するだけです。私は私の/パブリックフォルダにこれらすべてのJSファイルを移動し、それらが正しく動作するように見えたhttps://stackoverflow.com/a/21341394/4699406

+0

はここに静的なファイルを提供について同様の質問を参照してください。しかし、私がルートを切り替えると、エラーは解決しません。両方の方法で、私はそれらを正しくロードするために、私はページをリフレッシュする必要があります。どういうわけか、彼らは私が最初に見ているページの上にロードされます。 –

+0

私は答えを投稿した後に起こるのではないかと恐れていました。外部スクリプトを動作させるには、通常、onrenderedでそれらを初期化する必要があります。 https://docs.meteor.com/api/templates.html#Template-onRendered前の手順と同様ですが、上書きされたファイルをインポートする代わりに、インポートされたスクリプトの初期化関数を呼び出します。スクリプトファイルを使用しているか、どこにアップロードしているのか教えていただけますか? –

+0

私の答えはあなたには役に立たないので、今は受け入れられません。 –

関連する問題