Желаемое поведение заключается в том, что я хочу динамически генерировать некоторые навигационные записи (некоторые <a>
с) на основе данных, возвращаемых из бэкэнд. Поэтому я привязываю герцог и текст каждого <a>
к полям элемента массива model
. Как только обратный вызов возвращается, я назначаю возвращаемые данные data
в model
для обновления html. model
и data
используют одну и ту же структуру, но это не работает для меня.AngularJS: привязка данных к элементам массива не работает с массовым обновлением
Массив выглядит
$scope.links = {
'cancelLink': 'http://cancelLink',
'Steps': [{
'label': "Step1",
'link': "http://1"
}, {
'label': "Step2",
'link': "http://2"
}, {
'label': "Step3",
'link': "http://3",
'active': true
}, {
'label': "Review",
'link': "http://review"
}]
};
Обновление логики
$scope.loadLinks = function() {
$http({
method: 'GET',
url: '/links'
}).success(function(data) {
$scope.links = data;
});
};
HTML
<li><a class="text clickable" ng-href={{links.Steps[0].link}}>{{links.Steps[0].label}}</a></li>
<li><a class="text clickable" ng-href={{links.Steps[1].link}}>{{links.Steps[1].label}}</a></li>
...
Приведенный выше код просто не смог молча, без выхода из консоли. Я попытался назначить по полю от date
до link
(links.Steps[0].link == data.Steps[0].link
), и это работает. Так что, интересно, такое ли массовое обновление не поддерживается или что-то еще? Также мне интересно, как мне устранить эту проблему с ng-директивой в будущем?