У меня есть этот код контроллера:
$scope.searchResult = [{title:"this is 1"},{title:"this is 2"}];
$scope.searchByTag = function()
{
$location.path("search");
var req = {
method: 'POST',
url: 'url',
headers: {
'Content-Type': "application/json"
},
data: searchFormService.getTagSearhReqData()
};
$http(req).then(function(d){
for(var i=0;i<d.data.length;i++)
{
$scope.searchResult.push(d.data[i]);
}
alert($scope.searchResult.length);
}, function(e){
});
}
Вот html-код:
<div ng-repeat="data in searchResult">
{{data.title}}
</div>
Первоначально он показывает title1
и title2
когда searchByTag()
называется alert($scope.searchResult.length);
показать новую длину searchResult
что означает, что новый элемент добавлен в searchResult
но он не обновлен в html.
ваша структура JSON похожа на
$scope.searchResult.push({'title':d.data[i]});
console.log
и посмотреть, что произойдет. Или, может быть,d.data[i]
не содержит свойстваtitle
? Вы можетеconsole.log(d.data[i])
чтобы проверить это.console.log(d.data[i].title);
работает хорошо, и я пытался без предупреждения также