[英]Can't find view of undefined in angular js, module is defined
我正在嘗試向github上的Hygieia項目添加小部件。 當我將小部件添加到頁面時,它不顯示,並且出現此錯誤:
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);
}
});
我發現文件末尾缺少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);
}
})();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.