javascript - AngularJS: Controller 应该保存大量项目或每个项目的 Controller

标签 javascript html angularjs

我正在使用 Angular v1.3.15。 我的 Controller 显示一个由对象数组组成的大表:

$scope.table = [
  { name: "A",
    availableConnection: [
      { id: 1, displayName: "Foo" },
      { id: 2, displayName: "Bar" },
      ...
    ]},
  { name: "B",
        availableConnection: [
          { id: 1, displayName: "Doo" },
          { id: 2, displayName: "Boo" },
          ...
        ]},
  ...
];

我想知道我的 Controller 是否更好地为数组 $scope.table 中的每个单元格保留 Controller 。

<tr ng-repeat="x in table" ng-controller="RowController">
      <td>
          <select ng-options="a.displayName for a in availableConnection" >                          
          </select>
      </td>
</tr>

我无法复制我的代码,因为它位于专用网络内。 这个例子解释了我的意思。 * 而且整个页面都有一个 Controller ,因此这意味着孔表位于 Controller 内部。

最佳答案

AngularJS 中的 Controller 通常不用于任何“繁重的工作”,包括大数据集。 如果您有大量数据集,则应将值存储在 JSON 文件中。您可以使用 $http 服务来检索数据:

 $http.get("my_data.json")
    .then(function(response) {
        $scope.table = response.data;
    });

然后,您可以仅对多个 JSON 文件使用一个 Controller ,然后将其打印到 HTML 文件上。希望这有帮助!

关于javascript - AngularJS: Controller 应该保存大量项目或每个项目的 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40605790/

相关文章:

javascript - 不能在 AppFog Node App 上包含脚本/css

javascript - 如何循环遍历 JavaScript 中的文本框

html - SVG 在 HTML 中不使用字体

javascript - 如何在 Angular JS 的 Controller 中访问 JSON 的子元素

angularjs - Restangular - 如何覆盖错误拦截器

javascript - KonvaJS:如何在调整大小时更改文本类属性(字体大小、高度和宽度)?

javascript - 为什么 $route.current.params 和 $routeParams 不同?

javascript - 查询变量内的进程dom

html - 将图像调整到其在表上的父 div

javascript - 无法让 Angular 过滤器工作 ng-options