在控制器中声明的变量,带有“var”,但在控制器中引用为范围
Variable declared in controller with 'var' but referenced as scope in the controller
我正在实现一个名为ngTable的模块,你可以在这里找到。
例如,在 plunker 中,控制器中的以下内容引起了我的注意:
在控制器中声明一个变量:
var data = [{name: "Moroni", age: 50}, ....
稍后在控制器中引用数据
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10 // count per page
}, {
total: data.length, // length of data
getData: function($defer, params) {
$defer.resolve(data.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
在视图中,数据在 ngRepeat 中使用 $ 前缀引用:
<tr ng-repeat="user in $data">
<td data-title="'Name'">{{user.name}}</td>
<td data-title="'Age'">{{user.age}}</td>
</tr>
即使数据未声明为范围变量,视图如何识别数据?我错过的这个ngTableParams发生了什么?
也许我需要对$defer决心做更多的研究?
看看
https://github.com/esvit/ng-table/blob/master/ng-table.js#L411,ngTable
有一个控制器$scope
的引用,并向其添加$data
。
相关文章:
- AngularJS控制器范围
- FileReader加载不在控制器范围Angular 2内
- Angular ES6控制器范围
- 离子单选按钮-控制器范围无法识别更改
- Angular:控制器范围内的可重用功能
- 角度嵌入和访问控制器范围
- 如何从 ng-repeat(ng-repeat)中的指令访问控制器范围
- 如何在Angular JS的这个小游戏中将对象同步到控制器范围
- AngularJS - 访问 Web 应用中的顶级控制器范围
- 应用程序的主控制器范围
- 设置另一个控制器范围变量而不使用 angular.element (Angularjs)
- 如何根据信号器请求的结果设置控制器范围
- 角度控制器范围项作为范围函数的子项
- 在 angularjs 控制器范围内声明函数和属性,但不附加到$scope
- AngularJS 控制器范围问题
- 理解angularJS中的控制器范围
- 如何将项目列表从创建许多选择标记的指令添加到控制器范围
- Angularjs:如何在指令中访问控制器范围
- 当使用Konacha进行测试时,Ember无法在didLoad回调中访问控制器范围
- 最好的做法是从出厂功能设置控制器范围变量