モジュールの作成を遅らせようとしていますが、動作しません(Chromeを使用しています)。私はsetTimeout
を削除し、単にinitApp()
を呼び出す場合はここに私のコードTRY THE JSFIDDLEタイムアウトが機能していない状態で角モジュールを作成する
<!doctype html>
<html>
<head>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.5/angular.min.js"> </script>
</head>
<body>
<div ng-controller="MyCtrl">
Hello, {{name}}!
</div>
<script>
//initApp();
setTimeout(initApp, 1000);
function initApp() {
var myApp = angular.module('myApp', []);
myApp.controller('MyCtrl',
function($scope) {
$scope.name = 'Superhero';
});
}
</script>
</body>
</html>
あり、それは動作します。なぜ誰かが説明できますか?
角度アプリをページに埋め込もうとしていますが、スクリプトタグをHEADに追加することはできません。だから、への何らかの方法を理解する必要があります。 angular.min.jsがロードされ、解析されるまで、角モジュールの初期化を延期してください。
パーフェクト。これが私が最後に解決した方法です。しかし私の 'initApp'では' if(angular == null) 'をテストしてから再びsetTimeoutを返して戻ります。また、私は100ミリ秒を使用します。これで、スクリプトの順序について心配することなく、あらゆるページに角を埋め込むことができます。 –