Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS暂时禁止更新视图的某些部分_Javascript_Angularjs_Data Binding - Fatal编程技术网

Javascript AngularJS暂时禁止更新视图的某些部分

Javascript AngularJS暂时禁止更新视图的某些部分,javascript,angularjs,data-binding,Javascript,Angularjs,Data Binding,我有一个复杂的视图,用户通过modals与许多不同的对象进行交互。与激活模式对应的数据集设置为$scope.object。这对我所需要的非常有效。唯一的缺点是,在背景中,在当前模式下,可见数据消失,因为$scope.object已更改。因此,出于纯粹的美学原因,我试图找到一种暂时禁用AngularJS以更新视图某些部分的方法。我只能想到像这样的东西: $('#my-element [ng-model]').attr('ng-model', 'xx-model'); $('#my-element

我有一个复杂的视图,用户通过modals与许多不同的对象进行交互。与激活模式对应的数据集设置为$scope.object。这对我所需要的非常有效。唯一的缺点是,在背景中,在当前模式下,可见数据消失,因为$scope.object已更改。因此,出于纯粹的美学原因,我试图找到一种暂时禁用AngularJS以更新视图某些部分的方法。我只能想到像这样的东西:

$('#my-element [ng-model]').attr('ng-model', 'xx-model');
$('#my-element [ng-repeat]').attr('ng-repeat', 'xx-repeat');

然后在必要时反转操作。但这不起作用。有什么想法吗?

也许你应该使用不同的控制器,一个用于模态,另一个用于其他目的,还有一个服务来做你想做的事情


然后使用您自己的服务,并在相应的控制器中注入依赖项。

我感谢您的帮助。下面是我最后要做的:当我的$scope.object更改时,我复制变为空的元素。对于用户来说,似乎没有任何变化:

$('[ng-repeat]').each(function() {
    parent = $(this).parent();
    $(parent).addClass('placeholder');
    placeholder = $(parent)[0].outerHTML;
    $(parent).removeClass('placeholder');
    $(parent).after(placeholder);
});

当我的当前对象($scope.object)设置回原始数据时,我运行类似的逻辑删除占位符元素。希望这能帮助到别人。

不知道“景色变得一团糟”是什么意思。也许您应该处理模型对象的副本,然后合并更改。不过,对这个问题的了解还不够。我的意思是,背景中的可见数据消失了,因为$scope.object已更改,不再适用于背景中的内容。演示会有所帮助,但我怀疑,如果您使用范围数据的副本,会有所帮助