2017-02-07 9 views
0

AppAsset:

public $js = [ 
    'plugins/jquery/jquery.min.js', 
    'plugins/jquery/jquery-migrate.min.js', 
    'app.js', 
]; 

は、だから私は、ビューファイルにwiritingよ:

$script = <<< JS 
    jQuery(document).ready(function() { 
     App.init(); 
     }); 
    JS; 
$this->registerJs($script, View::POS_END); 

私が何も起こりません意味、ビューファイルでのYiiで働いていません。シンプルなHTMLでは、次のようになります。

<script> 
jQuery(document).ready(function() { 
    App.init(); 
}); 
</script> 

これはうまくいきます。

なぜYiiで動作しないのか分かりません。

+0

App.initの意味は何ですか?ブラウザのコンソールにエラーがあります。機能から何を期待していますか? – scaisEdge

+0

「動作しない」とはどういう意味ですか? jsファイルが正しい順序でありますか?単一のjQueryライブラリがロードされていますか?コンソールに何かエラーがありますか? – Justinas

+0

この機能は重要ではありません。私は、単純なhtmlファイルで動作しているので、Javascriptファイルは正しいと確信しています。 Yii Projectでは動作しません。 –

答えて

1

$this->registerJs()は、デフォルトでは、文書準備ラッパーを作成し、あなたはちょうどあなたが関数の最初のパラメータ

$script='App.init();'; 
$this->registerJs($script); 
+0

ありがとうございますが、それでも動作しません –

+0

相対的なjsがページにロードされていますか?コンソールにエラーがありますか? –

0

Yii2に特定のビューに含めるスクリプトを追加する必要があり、デフォルトでは、ロードjQueryの後のjavascript。今では正常に動作するはず

public $jsOptions = [ 
    'position' => \yii\web\View::POS_HEAD 
]; 

:AppAsset.phpで は、$ jsの後に[]配列は、次のコードを追加します。

+0

ありがとうございましたが、それは助けになりませんでした。 –

関連する問題