2017-07-17 20 views
-1

私はこのコードを持っています。 pageLoadをチェックアウトに設定せず、コンソールにundefinedを表示しません。 pageLoadを定義するスクリプトがconsole.logにスクリプトの上に含まれるべき、すなわち、あなたが別のスクリプトが呼び出される前にpageLoadが定義されていることを確認する必要がありますHTMLで変数を宣言し、angular2の別のJSファイルで使用します。

<html> 
<body> 
    <script type="text/javascript"> 
    var pageLoad = "checkout";  
    </script> 
</body> 
</html> 
console.log("Document type pageLoad ", typeof pageLoad); 
$(document).ready(function ($) { 
    if (typeof pageLoad !== "undefined") { 
    switch (pageLoad) { 
     case 'checkout': 
     Checkout.init(); 
     break; 
    } 
    } 
+1

変数をページ内に定義した後に外部スクリプト*をインクルードすると、正常に動作します。 –

+1

私は混乱します。私はjqueryをここに見るが、角度はない。 –

+0

@EliSadoff、このhtmlコードは、セレクタ –

答えて

0

などは、次のとおりです。

HTML:

<html> 
    <head> 
     <script src="path/to/jquery.js"></script> 
    </head> 
<body> 
    <script type="text/javascript"> 
     var pageLoad = "checkout";  
    </script> 
    <!-- external.js should be below the above script for pageLoad to be defined 
    <script src="external.js"></script> 
</body> 
</html> 

external.js:

// pageLoad will be defined here 
console.log("Document type pageLoad ", typeof pageLoad); 
$(document).ready(function($) { 
    if (typeof pageLoad !== "undefined") { 
     switch (pageLoad) { 
      case 'checkout': 
       Checkout.init(); 
       break; 
     } 
    } 
} 
+0

を介してapp.componentsにアクセスするコンポーネント内にあり、必要なすべてのJavascriptファイルは、angle-cli.json内のscriptタグにロードされ、セレクタを使用してHTMLを介してレンダリングされます –

関連する問題