Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 角度ng控制器似乎在路径中不起作用_Javascript_Angularjs - Fatal编程技术网

Javascript 角度ng控制器似乎在路径中不起作用

Javascript 角度ng控制器似乎在路径中不起作用,javascript,angularjs,Javascript,Angularjs,我在编写angularjs应用程序时遇到了一个问题 让我总结一下我在做什么,我使用的模板使用angularjs,它使用ui路由器。我的问题是,似乎我可以调用控制器,但当我加载页面时,它不会显示任何内容,这是我正在处理的代码 <tr ng-repeat="tableHead in tableHeads"> <th>{{ tableHead.th }}</th> </tr> 和控制器 'use strict';

我在编写angularjs应用程序时遇到了一个问题

让我总结一下我在做什么,我使用的模板使用angularjs,它使用ui路由器。我的问题是,似乎我可以调用控制器,但当我加载页面时,它不会显示任何内容,这是我正在处理的代码

    <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>