我试图将整个范围保留到服务中,以便在用户离开然后返回屏幕后它可用并且已经设置。
我创建了一个服务并将当前范围存储在那里。后来我将传递给控制器的 $scope 变量设置为存储在我的服务中的变量,但是在检查 DOM 之后,我看到它的绑定范围仍然是替换之前存在的范围对象。
如何替换范围以便它也可用于 DOM 元素?
谢谢你的帮助!
下面的代码尝试查看本地范围变量是否已初始化,如果是,则将 $scope 设置为它,否则它将继续并正常连接它。this.scope 是在控制器的超类(未显示)中定义和设置的成员变量。
function xyzController($scope, stateService) {
_super.call(this, $scope, stateService);
if (this.scope.hasBeenInitialized) {
$scope = this.scope; // $scope is updated but the DOM's scope never changed
return;
}
$scope.hasBeenInitialized = true;
...
}