Javascript 角度ng控制器似乎在路径中不起作用
我在编写angularjs应用程序时遇到了一个问题 让我总结一下我在做什么,我使用的模板使用angularjs,它使用ui路由器。我的问题是,似乎我可以调用控制器,但当我加载页面时,它不会显示任何内容,这是我正在处理的代码Javascript 角度ng控制器似乎在路径中不起作用,javascript,angularjs,Javascript,Angularjs,我在编写angularjs应用程序时遇到了一个问题 让我总结一下我在做什么,我使用的模板使用angularjs,它使用ui路由器。我的问题是,似乎我可以调用控制器,但当我加载页面时,它不会显示任何内容,这是我正在处理的代码 <tr ng-repeat="tableHead in tableHeads"> <th>{{ tableHead.th }}</th> </tr> 和控制器 'use strict';
<tr ng-repeat="tableHead in tableHeads">
<th>{{ tableHead.th }}</th>
</tr>
和控制器
'use strict';
function membersCtrl() {
var vm = this;
vm.dataMembers = {
'ajax': 'data/datamembers-arrays.json'
};
vm.tableHeads = [
{ th: 'Date Created'},
{ th: 'Mobile'},
{ th: 'First Name'},
{ th: 'Last Name'},
{ th: 'User Type'},
{ th: 'Email'},
{ th: 'Unit#'},
{ th: 'Street'},
{ th: 'Postal Code'}
];
}
angular.module('app').controller('membersCtrl', membersCtrl);
{{tableHeads.th}
只显示空白(带背景),但没有文本
感谢您抽出时间阅读!请帮忙:我不确定这是否能完全解决你的问题。但是,我注意到你需要进行一些修复。希望这能解决你的问题 1) 按如下方式指定状态配置中的控制器:
.state('app.members', {
url: '/',
templateUrl: 'views/members/members.html',
resolve: {
deps: ['$ocLazyLoad', function($ocLazyLoad) {
return $ocLazyLoad.load('scripts/controllers/members.js');
}]
},
title: 'Members',
controller: 'membersCtrl',
controllerAs: 'memCtrl'
})
2) 接下来,请注意,您正在将表头设置为vm,而不是$scope。因此,您需要使用“controller as”语法。注意,在上面的代码片段中,我们提到了controllerAs:'memCtrl'
。因此,按如下方式更改模板
<tr ng-repeat="tableHead in memCtrl.tableHeads">
<th>{{ tableHead.th }}</th>
</tr>
{{tableHead.th}
.state('app.members', {
url: '/',
templateUrl: 'views/members/members.html',
resolve: {
deps: ['$ocLazyLoad', function($ocLazyLoad) {
return $ocLazyLoad.load('scripts/controllers/members.js');
}]
},
title: 'Members',
controller: 'membersCtrl',
controllerAs: 'memCtrl'
})
<tr ng-repeat="tableHead in memCtrl.tableHeads">
<th>{{ tableHead.th }}</th>
</tr>