recherche

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

angulaire.js - Angularjs ng-repeat ne peut pas être actualisé

Comme le montre l'image, si j'appuie directement sur le tableau, la page peut être actualisée normalement. Mais si j'attribue directement un nouveau tableau à $scope.items, la page ne sera pas actualisée.

阿神阿神2831 Il y a quelques jours610

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