Недавно добавленный элемент не обновляется в html

0

У меня есть этот код контроллера:

$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.

  • 0
    Ваш код должен работать, но, возможно, он зависает в предупреждении (пока вы не нажмете ОК)? Попробуйте закомментировать предупреждение или преобразовать его в console.log и посмотреть, что произойдет. Или, может быть, d.data[i] не содержит свойства title ? Вы можете console.log(d.data[i]) чтобы проверить это.
  • 0
    внутри цикла console.log(d.data[i].title); работает хорошо, и я пытался без предупреждения также
Показать ещё 3 комментария
Теги:

1 ответ

0

ваша структура JSON похожа на

$scope.searchResult.push({'title':d.data[i]}); 

Ещё вопросы

Сообщество Overcoder
Наверх
Меню