簡體   English   中英

Angular JS ng-repeat無法正常工作

[英]Angular JS ng-repeat not working as expected

我有一個像這樣的控制器:

controller('BreadCrumbs', ['$scope','crumble','$rootScope', function ($scope,crumble,$rootScope) {    
    function init (){
        $scope.ui={};
        $scope.ui.mdBreadCrumbs=[{"path":"path1","label":"label1"}];     
        $rootScope.oldScope=$scope;
    }
    $scope.setBreadCrumbs=function() {        
        $scope.ui.mdBreadCrumbs=crumble.trail;    
    } 
    init();
}]);

在HTML中,

<ol id="breadCrumbList"  ng-controller="BreadCrumbs as bcrmbs">
 {{ui.mdBreadCrumbs}}
  <li ng-repeat="bc in ui.mdBreadCrumbs">
    <a ng-href="{{bc.path}}">{{bc.label}}</a>
  </li>
</ol>

{{ui.mdBreadCrumbs}}顯示了類似[{"path":"path1","label":"label1"}] 但是在ng-repeat中,它不是迭代的。 使用$scope.setBreadCrumbs我輸入了更多值,但是ngRepeat仍然無法正常工作。

有人知道為什么它不起作用嗎?

更改

<ol id="breadCrumbList"  ng-controller="BreadCrumbs as bcrmbs">

<ol id="breadCrumbList"  ng-controller="BreadCrumbs">

DEMO

 var app = angular.module('app', []); app.controller('BreadCrumbs', ['$scope', function($scope) { $scope.ui = {}; $scope.ui.mdBreadCrumbs = [{ "path": "path1", "label": "label1" }]; }]); 
 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> </head> <body ng-app="app" ng-controller="BreadCrumbs"> <ol id="breadCrumbList"> {{ui.mdBreadCrumbs}} <li ng-repeat="bc in ui.mdBreadCrumbs"> <a ng-href="{{bc.path}}">{{bc.label}}</a> </li> </ol> <script type=" text/javascript " src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.6/angular.js "></script> <script type="text/javascript " src="MainViewController.js "></script> </body> </html> 

您必須更改HTML中的某些內容,並且HTML應該如下所示:

<div ng-app>
  <div ng-controller="BreadCrumbs">
      <div ng-repeat="bc in ui.mdBreadCrumbs">
          <a ng-href="{{bc.path}}">{{bc.label}}</a>
      </div>
  </div>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM