0

我正在使用ng-table指令来显示带有数据的表。

我目前使用该表的观点是:

<table ng-table="table_params" show-filter="true" ng-controller="table">
...
</table>

我还有几个页面需要显示同一个表格(只有不同​​的数据)。所以对我来说合乎逻辑的事情似乎是使用一个视图但不同的控制器来用不同的数据填充表格。我不确定 Angular 的做法是什么以及如何去做。

我正在使用指令angular-route进行路由ng-view

4

2 回答 2

1

如果您正在使用ngRoute,则在配置中设置控制器$routeProvider,而不是在模板中。

$routeProvider.when('/table/1', {
    templateUrl: 'common_table.html',
    controller: 'Table1Controller'
});

文档:ngRoute.$routeProvider#methods_when

于 2013-12-16T10:34:47.440 回答
1

在您的情况下,不要将 ng-controller 放在 html 中,而是放在 js 中(即 app.js)

.when('/table', {
  templateUrl: 'views/table.html',
  controller: 'tableCtrl'
})
.when('/yetanothertable', {
  templateUrl: 'views/table.html',
  controller: 'yetanothertableCtrl'
})

如果您想与另一个控制器有一个单独的部分,请将其放在单独的 html 中并使用 ng-include。在您的视图/table.html 中:

<div>Main content here...</div>
<div ng-include="'views/extracontent.html'"></div>

然后在您的“views/extracontent.html”中放入一个 ng 控制器。请记住,ng-include 也接受 var,因此您可以在 tableCtrl 和其他人中声明它以包含不同的视图。

于 2013-12-16T10:36:31.003 回答