Maison > Questions et réponses > le corps du texte
如图,我直接push数组是可以正常刷新页面的。但是如果我将一个新数组直接赋值个$scope.items就不是刷新页面了。
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é