2016-04-11 14 views
0

私はHTMLのスクリプトタグにコントローラを書きました。コードを実行すると、コードは依存性注入まで実行されますが、コールバック関数は実行されません。内部JS角速度コントローラが呼び出されない

私が取り組んでいる他のアプリケーションでも同様のコードが正常に実行された場合、何が問題なのかわかりません。

また、コールバック関数を明示的に呼び出すと、注入された依存関係は特定されません。

<script type="text/javascript"> 
 
    angular.module('DesignPortal.layout', []) 
 
     .controller('NgLayoutController', NgLayoutController); 
 

 
    NgLayoutController.$inject = ['$scope']; 
 

 
    function NgLayoutController($scope) { 
 
     var loggedUserId = dpConfig.userInfo.id; 
 
    } 
 
</script>

関数が明示的に呼び出された場合、上記注入範囲が特定されていません。

答えて

1

It's Working on my plunk.

<script type="text/javascript"> 
    angular.module('DesignPortal.layout', []) 
     .controller('NgLayoutController', NgLayoutController); 

    NgLayoutController.$inject = ['$scope']; 

    function NgLayoutController($scope) { 
     alert("Its working!"); 
     var loggedUserId = dpConfig.userInfo.id; 
    } 
</script> 

This happens due to a number of reasons such as removing a script for index.html for a module but leaving in the module dependency or even misspelling a module dependency.

最初にやるべきことはすべてのファイルがロードされていることを確認した後、すべてのモジュールの依存関係が右綴られていることを確認しています。

+1

はい、そうです。私がしていなかったことは、ng-controller指令でHTMLにコントローラを含めていないことでした。私は、HTMLへのインクルードが必要ないという理解を持っていました。しかし、明らかに私は間違っていた。 –

0

これを試してください。私は自分自身を試していないが、それは動作するはずです。

<script type="text/javascript"> 
    angular.module('DesignPortal.layout', []) 
     .controller('NgLayoutController',['$scope', function($scope) { 
      function NgLayoutController() { 
       var loggedUserId = dpConfig.userInfo.id; 
      } 
     }]);  
</script> 
+0

すでに、私のために働いていませんでした。 –

1

コンソールに何かエラーがありますか? 角度がロードされる前にスクリプトを読み込んでいる可能性があります。 関数にコードをラップし、コードが実行されるポイントをテストするためにいくつかのブレークポイント/ debugs/console.logを配置してください。

(function(){ 
    "use strict"; 

    angular.module('DesignPortal.layout', []) 
     .controller('NgLayoutController', NgLayoutController); 

    NgLayoutController.$inject = ['$scope']; 

    function NgLayoutController($scope) { 
     var loggedUserId = dpConfig.userInfo.id; 
    } 
})(); 
+0

私はそのようなことを世話しましたが、コンソールにエラーはありません。 –

関連する問題