2016-07-22 19 views
0

githubのHygieiaプロジェクトにウィジェットを追加しようとしています。私は、ページにウィジェットを追加すると、それは表示されませんし、私はこのエラーを取得する:角度jsで未定義のビューが見つかりません。モジュールが定義されています

TypeError: Cannot read property 'view' of undefined 
    at link (http://localhost:3000/app/dashboard/directives/widget.js:49:64) 
    at http://localhost:3000/bower_components/bower.js:9682:44 
    at invokeLinkFn (http://localhost:3000/bower_components/bower.js:9688:9) 
    at nodeLinkFn (http://localhost:3000/bower_components/bower.js:9198:11) 
    at delayedNodeLinkFn (http://localhost:3000/bower_components/bower.js:9446:11) 
    at compositeLinkFn (http://localhost:3000/bower_components/bower.js:8547:13) 
    at compositeLinkFn (http://localhost:3000/bower_components/bower.js:8550:13) 
    at compositeLinkFn (http://localhost:3000/bower_components/bower.js:8550:13) 
    at compositeLinkFn (http://localhost:3000/bower_components/bower.js:8550:13) 
    at compositeLinkFn (http://localhost:3000/bower_components/bower.js:8550:13) <widget name="aws-status" class="ng-isolate-scope"> 

私はすでに同様のモジュールのために存在するコードの後に​​追加したすべてのコードをモデル化しますが、何らかの理由できましたウィジェットはページに表示されません。私はモジュールを宣言してるのはここで、あなたは私が間違っているのかを決定するために他のコードのセクションを参照してくださいする必要がある場合は私に知らせて:

(function() { 
    'use strict'; 

    var widget_state, 
     config = { 
      view: { 
       defaults: { 
        title: 'AWS Status' // widget title 
       }, 
       controller: 'awsStatusViewController', 
       controllerAs: 'ctrl', 
       templateUrl: 'components/widgets/awsstatus/view.html' 
      }, 
      config: { 
       controller: 'awsStatusConfigController', 
       controllerAs: 'ctrl', 
       templateUrl: 'components/widgets/awsstatus/config.html' 
      }, 
      getState: getState 
     }; 

    angular 
     .module(HygieiaConfig.module) 
     .config(register); 

    register.$inject = ['widgetManagerProvider', 'WidgetState']; 
    function register(widgetManagerProvider, WidgetState) { 
     widget_state = WidgetState; 
     widgetManagerProvider.register('aws-status', config); 
    } 

    function getState(widgetConfig) { 
     return HygieiaConfig.local ? 
      widget_state.READY : 
      (widgetConfig.id ? widget_state.READY : widget_state.CONFIGURE); 
    } 
}); 

答えて

0

私はの終わりに2つの括弧が欠落していた私を発見しました私のファイルこれらがなければ、コードは決して実行されなかったようです。

(function() { 
    'use strict'; 

    var widget_state, 
     config = { 
      view: { 
       defaults: { 
        title: 'AWS Status' // widget title 
       }, 
       controller: 'awsStatusViewController', 
       controllerAs: 'ctrl', 
       templateUrl: 'components/widgets/awsstatus/view.html' 
      }, 
      config: { 
       controller: 'awsStatusConfigController', 
       controllerAs: 'ctrl', 
       templateUrl: 'components/widgets/awsstatus/config.html' 
      }, 
      getState: getState 
     }; 

    angular 
     .module(HygieiaConfig.module) 
     .config(register); 

    register.$inject = ['widgetManagerProvider', 'WidgetState']; 
    function register(widgetManagerProvider, WidgetState) { 
     widget_state = WidgetState; 
     widgetManagerProvider.register('aws-status', config); 
    } 

    function getState(widgetConfig) { 
     return HygieiaConfig.local ? 
      widget_state.READY : 
      (widgetConfig.id ? widget_state.READY : widget_state.CONFIGURE); 
    } 
})(); 

正しいコードは次のように見えました

関連する問題