我开始经常遇到这个问题。场景是我有一个我想重用的部分。问题是,我必须在范围内覆盖我以前的数据,以便新数据显示在部分中。我想知道人们是如何解决这个问题的。
这是一个例子:
我有所有使用$scope.pebbles
和共享相同部分的选项卡。对于每个选项卡,我希望填充不同的数据。所以很自然,我只会对数据发出新请求并将其存储回变量以更改数据,例如:$scope.pebbles = getPebbles(color)
. 这样做的问题是每次更改选项卡时都必须提出新请求。有没有更好的方法来解决这个问题而没有很大的部分?
概述.html:
<tab>
<tab-heading>
<i class="icon-bell"></i> All
</tab-heading>
<div class="tab-content">
<div ng-include="'views/partials/_pebbles.html'"></div>
</div>
</tab>
<tab ng-repeat="color in colors">
<tab-heading ng-click="tab(color)">
{{color}}
</tab-heading>
<div class="tab-content">
<div ng-include="'views/partials/_pebbles.html'"></div>
</div>
</tab>
_pebbles.html:
<table class="table table-striped table-bordered bootstrap-datatable datatable">
<thead>
<tr>
<th>Pebble Name</th>
<th>Pebble Type</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="pebble in pebbles">
<td>{{pebble.name}}</td>
<td>{{pebble.type}}</td>
</tr>
</tbody>
</table>
控制器:
$scope.colors = ['blue','red','orange','purple']
$scope.pebbles = getPebbles() // http factory, makes a request for data
$scope.tab = function (color) {
$scope.pebbles = getPebbles(color)
}