我有一个简单的CRUD,它与Angularjs放在一起。从产品列表显示中,我将用户传递给“新建”窗体的新视图模板。
表单处理正常并更新数据库。然后,我使用“$ location.path(url)”将用户传回列表显示。
由于某些原因,当列表页面显示时,更改不会出现在$ scope中,您必须刷新页面以查看更改。
样品的编号:
$scope.acns = acnFactory.query()
.$promise.then(function (data) {
$scope.acns = data;
});
上述显示器中的项目的列表。
$scope.createAcn = function() {
$scope.acn.isActive = true;
acnFactory.create($scope.acn);
$location.path('/acn');
}
上述职位的新产品,然后重定向到列表页面(/ ACN)
我的假设是,列表页会重新处理或观看更改$范围,但认为不更新。
$ scope.acn和$ scope.acns之间的区别是什么? – maddygoround
$ scope.acns代表所有产品。 $ scope.acn是一个单一的产品。在第一个代码块中,我调用了acns列表。在第二个代码块中,我正在处理一个表单以“创建新的”acn。然后我回到/ acn视图,它列出了所有的acns。 – crowsfeet
它可能会发生,因为它的异步调用我们的$范围可能不会更新,请尝试使用$ scope。$ apply()在$ scope.acns = data之后; ,只是为了检查天气它做伎俩 – maddygoround