什么时候可以安全地拨打$ setPristine?

时间:2014-03-05 03:04:32

标签: angularjs

我有一些初始化表单的代码(相当复杂的初始化)。我希望在首次显示表单时调用它,但我必须做这样的事情:

        if($scope.callForm) {
            $scope.callForm.$setPristine();
        }

因为在初始化控制器时,角度还没有到创建名为callForm的ng-form。我的所有其余初始化完成后,我添加了$ setPristine(),以便在用户单击新建按钮时重置它。它在启动时实际上并不需要,因为表格会出现原始状态

上面的代码可以工作,但有一些承诺我可以等待进行初始化,所以在我的控制器代码执行初始化之前,angular已经实例化了所有的DOM东西吗?只是试着为其他竞争条件保持领先。 Angular 1.2.9

1 个答案:

答案 0 :(得分:1)

你可以使用ng-init =“someFunctionSettingPristingState()”并将它放在表单标签上,所以只有当angularjs开始初始化表单时才会调用它...

我还没有测试过它。