Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了当观察AngularJS中的模型更改时,如何忽略初始负载?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个网页作为单个实体的编辑器,它作为一个深层图在$ scope.fieldcontainer属性。在我从我的REST API(通过$ resourcE)获得响应后,我向“fieldcontainer”添加一个手表。我使用这个手表来检测页面/实体是否“脏”。现在我使保存按钮反弹,但真的我想让保存按钮不可见,直到用户弄脏的模型。

我得到的是手表的一个触发器,我认为发生,因为.fieldcontainer = …分配是在我创建我的手表后立即发生。我在想只是使用一个“dirtyCount”属性来吸收初始的假警报,但感觉非常hacky …我想,有一个“角度习惯”的​​方式来处理这 – 我不是唯一的使用手表检测脏模型。

这里是我设置我的手表的代码

$scope.fieldcontainer = message.get({id: $scope.entityId },function(message,headers) {
                $scope.$watch('fieldcontainer',function() {
                        console.log("model is dirty.");
                        if ($scope.visibility.saveButton) {
                            $('#savemessageButtonRow').effect("bounce",{ times:5,direction: 'right' },300);
                        }
                    },truE);
            });

我只是一直认为,有一个更干净的方式来做这个比保护我的“UI脏”代码与“if(dirtyCount> 0)”…

在初始加载之前设置标志,
var initializing = true

然后当第一个$ watch激发,做

$scope.$watch('fieldcontainer',function() {
  if (initializing) {
    $timeout(function() { initializing = false; });
  } else {
    // do whatever you were going to do
  }
});

标志将在当前摘要周期结束时被删除,因此下一个更改不会被阻止。

大佬总结

以上是大佬教程为你收集整理的当观察AngularJS中的模型更改时,如何忽略初始负载?全部内容,希望文章能够帮你解决当观察AngularJS中的模型更改时,如何忽略初始负载?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。