AngularJS:控制器应该保存项目的大数组或每个项目的控制器
AngularJS: Controller should hold big array of items or controller for each item
我使用的是angular v1.3.15。我的控制器从对象数组中显示一个大表:
$scope.table = [
{ name: "A",
availableConnection: [
{ id: 1, displayName: "Foo" },
{ id: 2, displayName: "Bar" },
...
]},
{ name: "B",
availableConnection: [
{ id: 1, displayName: "Doo" },
{ id: 2, displayName: "Boo" },
...
]},
...
];
我想知道我的控制器是否会为数组$scope.table中的每个单元格保持控制器。
<tr ng-repeat="x in table" ng-controller="RowController">
<td>
<select ng-options="a.displayName for a in availableConnection" >
</select>
</td>
</tr>
我不能复制我的代码,因为它在私有网络内。这个例子解释了我的意思。*整个页面也有一个控制器,所以这意味着孔表是在控制器内。
AngularJS中的控制器通常不会用于任何"繁重的工作",包括大数据集。如果您有一个大的数据集,您应该将您的值存储在JSON文件中。您可以使用$http服务来检索数据:
$http.get("my_data.json")
.then(function(response) {
$scope.table = response.data;
});
你可以只使用一个控制器的许多JSON文件,然后打印它在你的HTML文件。希望这对你有帮助!
是否使用嵌套控制器是一个判断调用,但本教程指出作用域应该指向模型,而不是模型——所以不要将数据建模/放入作用域。你的模型/数据通常应该在服务中。
在开发Angular应用程序时,首先要考虑你的模型。将它们放在带有api的服务或工厂中,以获取/编辑/操作模型。下一步是设计视图。每个视图都应该投射/使用/操作模型的某个子集。为每个视图创建一个控制器,简单地将模型的所需子集粘合到视图。让你的控制器越薄越好。因此,在我看来,使用嵌套控制器最好是而不是,因为您应该知道如何正确使用嵌套控制器。如果使用嵌套控制器,代码会变得更加复杂。
相关文章:
- 将项目从列表传递到控制器
- 相对于角度控制器中的另一个阵列过滤阵列项目
- 项目视图中控制器的角度重用函数值
- 在控制器中创建StandardListItem并在赢得的项目上按下事件'不要开火
- 如何将所选项目从角度 UI 下拉列表发送回角度控制器
- 将项目从商店动态加载到控制器
- 使用 KODataTable MVC 选择表中的项目时触发控制器操作
- 如何在控制器对添加项目执行操作后更新视图
- 角度.js分页过滤的数据并显示总项目,而无需在视图/控制器中复制代码
- 如何将项目id传递给我的控制器以进行删除方法
- 如何使用AngularJs将项目添加到控制器中的数组中
- 从控制器中删除项目
- 棱角分明的项目结构;控制器
- 如何将控制器源代码从app.js移动到angular项目中所需的文件夹位置
- 使用draggable+ dropable指令将项目从子控制器移动到父控制器
- 如何将项目列表从创建许多选择标记的指令添加到控制器范围
- AngularJS:控制器应该保存项目的大数组或每个项目的控制器
- Angular js嵌套控制器列表/项目
- Rails4 -对项目控制器的AJAX请求
- 如何使用带有输入字段的表单将项目推送到控制器数组中,该表单将显示在视图中