Maison > Questions et réponses > le corps du texte
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.
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
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)
天蓬老师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
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é