在我的角度应用程序中,有两个页面(列表&结帐)。在列表页面中,用户可以搜索项目并且将显示搜索到的项目,然后用户可以选择项目并继续结帐。
在结帐页面,用户可以返回到列表页面,并且在那个时候列表页面中的所有项目应该与之前的项目相同。 为了实现此功能,我的代码是AngularJS - HTML绑定无法正常工作
从列表页移动到结账页面,所有的范围数据存储在服务
returnsService.setScopeData($scope);
而且从结帐页面返回返回列表页面,在此保存的数据从服务中检索并分配给范围变量。
var restoreScopeData = returnsService.getScopeData();
if (restoreScopeData) {
for (var key in restoreScopeData) {
if (key.charAt(0) != '$') {
$scope[key] = restoreScopeData[key];
}
}
}
这可以很好地扩展,我可以看到列表页与我如何离开它相同。 但问题是,现在我无法在列表页面中搜索新项目。
当发生搜索时,项目将填充到$scope.listSearch
,并且它们显示在html {{listSearch}}
中。 在错误的情况下, 我可以看到新的搜索数据被分配到$scope.listSearch
,但HTML绑定没有发生。 我尝试在搜索分配后拨打$scope.$apply()
,但仍然无法工作。
我觉得有些混乱。在范围内有很多事情要回来时必须维持。回来之后,用户仍然可以搜索另一个项目。那么肯定需要一个新的调用,新的项目细节将被分配给$ scope.listSearch。但绑定没有发生。 –
你试过$超时了吗? –
是的..不起作用 –