2017-05-23 12 views
0

私のHTML & JSは以下の通りです。 angularJsで遅れてrun/configを挿入できますか?遅延後にangularJSのconfig/runを初期化するには?


 
var app = angular.module('demo', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name = 'World'; 
 
}); 
 

 
setTimeout(function(){ 
 
    angular.module('plunker').run(function($rootScope){ 
 

 
    $rootScope.$apply(function(){ 
 
     $rootScope.hello = "works"; 
 

 
    }); 
 

 
    }); 
 
},1000);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<section ng-app="demo"> 
 

 
    <div ng-controller="MainCtrl"> 
 
    <p>Hello {{name}}!</p> 
 
    {{$root.hello}} 
 
     
 
    </div> 
 
</section>

誰もこれを助けることができる場合、私は幸いです。ありがとうございました:)

+0

私は、あなたが今の角を使い始めるされている推測しています。私はあなたがこれにどのようなリソースを使用しているのかよく分かりませんが、1.2.23は非常に古いものです。 –

+1

基本的に私は1.5.8を使用していますが、stackoverflowのエディタにはそれがありません。しかし、それは私の質問とは関係ありません。 – cris

答えて

0

遅延を実行するために$timeoutを利用することができます。

このために新しいモジュールを初期化する必要はありません。

var app = angular.module('demo', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.name = 'World'; 
 
}); 
 

 
app.run(function($rootScope, $timeout) { 
 
    $timeout(function() { 
 
    $rootScope.hello = "works"; 
 
    }, 1000); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<section ng-app="demo"> 
 

 
    <div ng-controller="MainCtrl"> 
 
    <p>Hello {{name}}!</p> 
 
    {{hello}} 
 

 
    </div> 
 
</section>

+0

いいえ私はここで新しいモジュールを初期化していません。私は同じモジュールを使用しようとしています。また、サーバーからこのコードを動的に挿入しているため、タイムアウトはスクリプトの周りにラップする必要があります。 – cris

関連する問題