我正在使用棱角分明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>
我无法复制我的代码,因为它在私人网络中。 这个例子解释了我的意思。 *此外整个页面都有一个控制器,这意味着孔表位于控制器内部。
答案 0 :(得分:2)
AngularJS中的控制器通常不用于任何“繁重的”,包括大数据集。 如果您有大型数据集,则应将值存储在JSON文件中。您可以使用$ http服务来检索数据:
$http.get("my_data.json")
.then(function(response) {
$scope.table = response.data;
});
然后,您只能为一个JSON文件使用一个控制器,然后将其打印在HTML文件中。希望这有帮助!
答案 1 :(得分:1)
是否使用嵌套控制器是判断调用,但是WebDriverManager 范围应该引用模型而不是模型 - 所以不要建模/放置数据进入范围。您的模型/数据通常应该在服务中。
在开发Angular应用程序时,首先要考虑一下模型。使用API将它们放入服务或工厂中以获取/编辑/操作模型。然后下一步是设计您的视图。每个视图都应该投影/使用/操作模型的某个子集。 为每个视图创建一个控制器,只需将所需的模型子集粘贴到视图中。使控制器尽可能薄。
因此,在我看来,使用嵌套控制器更好不,因为您应该知道如何this tutorial states。如果使用嵌套控制器,则代码会变得更复杂。