为什么angular-table(参见angulartable.com)不能正确支持通过ng-include包含?

时间:2013-12-10 16:14:37

标签: angularjs angularjs-directive

angular-table directive非常忙碌的作者建议我在这里发布这个问题:

有谁可以看到为什么angular-table不能正确支持通过ng-include包含?

请参阅http://plnkr.co/edit/6hC9NIDPxPl9IPX9FzcE?p=info上的示例。

(此处正确呈现的示例内联表后面是未正确呈现的同一表的包含ng的版本。)

2 个答案:

答案 0 :(得分:0)

似乎不接受在一个控制器中运行2个实例。简单的解决方法是使用2个控制器并通过服务共享数据/方法

app.factory('TableData',function(){      
  return  [{name: 'John'}, {name: 'Bill'}, {name: 'Sam'}, 
                            {name: 'Dave'}, {name: 'Phil'}, {name: 'Mike'}, 
                            {name: 'Tim'}, {name: 'Jack'}, {name: 'Ron'}];
  });


app.controller('TableController1', ['$scope','TableData',
  function($scope, TableData) {
    $scope.names =TableData
  }
]);

app.controller('TableController2', ['$scope','TableData',
  function($scope, TableData) {
    $scope.names =TableData
  }
]);

DEMO

答案 1 :(得分:0)

谢谢Gamb但事实证明这不是问题,尽管你确实指出了实际问题的方法:即,如果包含ng的表只包含在标准的html父级内,它将只继承更高级别的控制器包含ng的文件中的元素(例如div)。

尝试在我的plunk的修订版本中取消注释name-table.html中的元素,看看我的意思。

尽管如此,感谢你指引我正确的方向,Gamb!