0
我有一个对象的列表,我将参数传递给一个状态。链接(href)正确创建,但是当我更改列表时,旧的hrefs保留而不是生成新的值。如何从ui路由器更新href与data-ui-state/data-ui-state-params
<ul>
<li data-ui-sref-active="active" data-ng-repeat="location in locations track by $index">
<a data-ui-state="'.map.location'" data-ui-state-params="{ 'descriptor': '{{location.descriptor}}'}">
{{location.descriptor}}
</a>
</ul>
<button ng-click="changeList()">change list</button>
和控制器:
var app = angular.module('plunker', ['ui.router'])
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
// route for the home page
.state('map', {
url:'/map',
templateUrl:'map.html'
})
.state('map.location', {
url:'/location/{descriptor}',
templateUrl:'map.html'
})
$urlRouterProvider.otherwise('/map');
});
app.controller('MainCtrl', function($scope) {
$scope.locations = [{
descriptor: "1"
},{
descriptor: "2"
},{
descriptor: "3"
},{
descriptor: "4"
},{
descriptor: "5"
}];
$scope.changeList = function(){
$scope.locations = [{
descriptor: "A"
},{
descriptor: "B"
},{
descriptor: "C"
}];
}
});
全部代码在这里:http://plnkr.co/edit/s4W3Qa0w37LO7HnwAZbH
请参阅:http://stackoverflow.com/questions/29849293/ng-repeat-not-updating-on-update-of-array –
正确更新视图上的数据,包括data-ui-state和data-ui-state-params,只有href不会改变。 –