angularjs ng-repeat 不能刷新

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

图片描述

阅读 9.5k
4 个回答

答案在评论里

你用的是 Angular 呀,promise 利用起来啊:

// in your service

function getSp() {
  return $http.get(apiHost)
}
// in your controller

$scope.items = ckGL.getSp().then(response => response[0])

就这个意思,log 啥的你看情况加

题主是把Controller的scope传到Service,不如把Service的方法拿到Controller。
比如:

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

赋值后再console一下$scope.items的值看看有没有付错值试试…单单这么写很难知道你的问题是出现在哪。正常是会触发渲染的

因为js里面,对象赋值是引用,ng监视可以理解为地址监视,所以原来的数组没变就不会触发ngrepeat了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进