ng-include with template不会呈现数据

时间:2016-01-09 22:12:45

标签: javascript jquery angularjs

我有两个java脚本 - 一个用于控制器,一个用于数据服务调用。

在索引页面上,我尝试使用数据库返回结果中的数据加载选项卡。它抛出未定义的范围数据,我可以看到已设置,但似乎html渲染之前

索引页

<li ng-repeat="(Id, Name) in data.list" ng-class="{active: isSel(Id)}">
<a ng-click="isChange(Id, Name);" ng-href="#{{Name}}" role="pill" data-placement="right" data-toggle="tab">
{{Name}}
</a>
</li>


<div class="tab-content">
<div ng-repeat="(Id, Name) in data.list" class="tab-pane template fade in" id="{{Name}}" ng-class="{active: isSel(Id)}">
<div class="row" ng-include="'templates/my_widget.html'" >  </div>
</div>
</div>

my_widget.html

<div class="col-md-4 component list-widget" ng-repeat="(Id, Name) in data.LatestBList">......blah blah....</div>

控制器

$scope.isSelected = function(entry) {
        return $scope.tab === entry;
  };

  $scope.isChange = function(Id, Name) {
        $scope.tab = Id;
        $scope.Name = Name;
        $scope.data.LatestBList= [];
        $scope.data.LatestBList= ds.getList($scope.Name); // database retuned list
  };

我收到错误

Error: [ngRepeat:dupes] http://errors.angularjs.org/1.4.3/ngRepeat/dupes?p0=(Id%2C%20Name)%20in%20data.LatestBList&p1=undefined%3Aundefined&p2=undefined
    at Error (<anonymous>

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

ng-include使用自己的范围创建,因此返回undefined。 $parent可用于获取解决问题的父范围。