recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - angularjs ng-repeat 不能刷新

如图,我直接push数组是可以正常刷新页面的。但是如果我将一个新数组直接赋值个$scope.items就不是刷新页面了。

阿神阿神2744 Il y a quelques jours554

répondre à tous(4)je répondrai

  • PHPz

    PHPz2017-05-15 16:59:36

    La réponse est dans les commentaires

    Vous utilisez Angular, utilisez les promesses :

    // in your service
    
    function getSp() {
      return $http.get(apiHost)
    }
    // in your controller
    
    $scope.items = ckGL.getSp().then(response => response[0])

    C'est ce que je veux dire, vous pouvez ajouter des logs ou autre selon la situation

    répondre
    0
  • PHP中文网

    PHP中文网2017-05-15 16:59:36

    Le sujet principal est de transférer la portée du Contrôleur au Service. Il est préférable de transmettre les méthodes du Service au Contrôleur.
    Par exemple :

    $scope.getSp = ckGl.getSp
    $scope.getSp($scope.items)

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-15 16:59:36

    Après avoir attribué la valeur, consolez la valeur de $scope.items pour voir si vous avez payé la mauvaise valeur... Il est difficile de savoir où est votre problème rien qu'en l'écrivant ainsi. Normalement cela déclenchera le rendu

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-15 16:59:36

    Parce qu'en js, l'affectation d'objet est une référence, la surveillance ng peut être comprise comme une surveillance d'adresse, donc si le tableau d'origine reste inchangé, ngrepeat ne sera pas déclenché

    répondre
    0
  • Annulerrépondre