【问题标题】:AngularJS : ng-repeat not workingAngularJS:ng-repeat 不起作用
【发布时间】:2016-02-08 13:52:39
【问题描述】:

我目前正在使用 angularjs 和 MVC Web Api 开发一个 SPA 应用程序。我试图通过从 SQL Server 中获取数据并将其绑定到数据表然后传递来填充网格:

{ 
  "countryID":null,
  "countryCode":null,
  "countryName":null,
  "currencyCode":null,
  "currencyName":null,
  "currencyDecimals":null,
  "timeZone":null,
  "countries":[],
  "returnStatus":true,
  "returnMessage":["success"],
  "validationErrors":{},
  "totalPages":0,
  "totalRows":0
  "isAuthenicated":false,
  "sortExpression":0,
  "sortDirection":3,
  "currentPageNumber":0,
  "totalPageCount":0,
  "dtMain": [
    {"countryID":1},
    {"countryID":2},
    {"countryID":3},
    {"countryID":4},
    {"countryID":5},
    {"countryID":7} ]
}

我可以访问所有其他属性,但不能访问 dtMain。我的 HTML 如下:

<pre>
  <div class="section-box" ng-controller="countryGridController as vm" 
    ng-init="vm.initializeController()"> 
      {{vm.sortDirection}}
      <div data-ng-repeat="obj in vm.dtMain">
          {{obj.countryID}}
      </div>
  </div>
</pre>

【问题讨论】:

  • 您无法访问它,因为 countryID 不是主要对象的属性。它是 dtMain 的属性。我要准备一些东西给你解释一下。
  • 嗨 Rodmentou 你能解决这个问题吗

标签: angularjs model-view-controller asp.net-web-api2 single-page-application


【解决方案1】:

$scope 变量用于绑定视图和它的控制器,因此无论您想从控制器中引用什么对象,都将其分配给控制器函数中的 $scope 成员

    function countryGridController(){
        $scope.vm= { 
            "countryID":null,
            "countryCode":null,
            "countryName":null,
            "currencyCode":null,
            //and so on
        };
    }

在视图中

 <pre>
  <div class="section-box" ng-controller="countryGridController"> 
      {{vm.sortDirection}}
      <div data-ng-repeat="obj in vm.dtMain">
          {{obj.countryID}}
      </div>
  </div>
</pre>

【讨论】:

  • 您好 Mohamed,我不明白您的回复。实际上我是 angularjs 的新手。所以你能详细说明你的解释吗
  • 大家好,我解决了这个问题。出现问题是因为我没有将 JSON response.dtMain 绑定到我的 vm.dtMain。这样做后,我能够访问所有元素。
猜你喜欢
  • 2014-11-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多