共享范围的不同模板中的角度多指令

时间:2014-10-29 03:18:01

标签: angularjs

我在Angular中构建了一个分页系统,但它有一个我无法弄清楚的设计缺陷。

我需要能够从不同的模板文件中调用此指令并共享相同的页面范围。我已经尝试过隔离范围,但它需要能够更改需要在控制器中定义的分页项目的范围。

以下是一个有效的例子:http://plnkr.co/edit/Qw2NmakYRlse1Eo7MESh?p=preview

当您点击其中一个寻呼机时,您可以看到问题,而另一个未使用它进行更新。

pagination指令更改scope.pages数组。然后,使用该数组的模板会更改寻呼机。

app.directive('pagination', function(){
  return {
    restrict: "A",
    templateUrl:'pagination.html',
    link: function(scope, element, attrs) {

1 个答案:

答案 0 :(得分:1)

模板未更新,因为没有共享相同的范围,请尝试使用此更新版本:

http://plnkr.co/edit/E1DLOacahykSwWBWhHhU?p=preview

技巧可能是启用双向绑定:

return {
  restrict: "A",
  scope: {
    items: '='
  },

并使用此对象存储您的网页。

scope.items = [/*list of pages*/]