2017-01-26 1 views
1

私は角度モジュールをブートストラップするonclickイベントを持っています(これは、私が作業しているプラ​​ットフォームで実行できる唯一の方法です)。 UIページのこのonclickイベントは、X回クリックできます。最初にクリックすると角度モジュールが正しくロードされ、コントローラが動作していることがわかります。今度は2回目をクリックすると、エラーがスローされます。角モジュールが既にブートストラップされているかどうかを確認しますか?

OnClickEvent() { 
    //call ui page (which contains angular script) 
} 

角度スクリプト

angular.module('myApp', []) 
.factory('facotry', ['$http', function($http) { 

}]) 
.controller('controller', function($scope, $attrs, $http) { 

}); 
try{ 
    angular.module('myApp'); 
}catch(e){ 
    angular.bootstrap(document, ["myApp"]); 
} 

私はリフレッシュしない限り、私はモジュールがロードされると、それはクリックで再びロードされていないことを確認してくださいするにはどうすればよい

WARNING: Tried to load angular more than once. 
VM65046:6Uncaught Error: [ng:btstrpd] http://errors.angularjs.org/1.6.1/ng/btstrpd?p0=document 

を取得エラーページか何か?

しようとしたが、

try{ 
    angular.module('myApp'); 
}catch(e){ 
    angular.bootstrap(document, ["myApp"]); 
} 
+0

の可能性のある重複した[どのようにエラーが発生することなく、モジュールが存在するかどうかを確認するには?](のhttp:// stackoverflowの.com/questions/19206553 /エラーなしでモジュールが存在するかどうかを確認する –

+0

「これが唯一の方法です私が取り組んでいるプラットフォームでやったことは? "私はこのように角度を設定する必要があるプラットフォームには慣れていません.... – Claies

+0

プラットフォームは既に角度を読み込みます。その後、スクリプトは後で注入されるので、私はブートストラップをする必要があります。私は確信が持てない場合 – ksernow

答えて

0

はこれを試してみてください動作していない:

OnClickEvent() { 
if(typeof angular !== 'undefined'){ 
    var app = angular.module('myApp'); 
    if(!app){ 
     app = angular.module('myApp', []) 
    } 

    app.factory('facotry', ['$http', function($http) { 

    }]) 
    .controller('controller', function($scope, $attrs, $http) { 

    }); 
} 
} 
関連する問題