[英]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.