gpt4 book ai didi

javascript - AngularJS $scope.form.$subscribed 显示 true

转载 作者:行者123 更新时间:2023-11-28 05:54:28 26 4
gpt4 key购买 nike

我有一个多步骤表单,我想控制用户是否在每个步骤中提交了有效信息。我正在检查验证,如果为 true,我将进入下一步,但 $scope.form.$subscribed 显示 True 并且会弹出 ng-message。

function stepForward(step){
console.log($scope.AdvertiserRegistration.$valid);
if($scope.AdvertiserRegistration.$valid){
var t = setTimeout(function(){
$scope.AdvertiserRegistration.$submitted = false;
},3000);
window.location = '#/advertiser/register/step'+step;
}

}

所以这是我的函数,但它不起作用:

console.log($scope.AdvertiserRegistration.$valid) 返回 True。

有什么解决办法吗?

最佳答案

当使用 Angular 时,任何异步操作都会使您脱离 Angular 摘要周期,因此 Angular 团队为这些操作提供服务,其中之一是 $timeout,将您的代码更改为:

function stepForward(step){
console.log($scope.AdvertiserRegistration.$valid);
if($scope.AdvertiserRegistration.$valid){
//YOU NEED TO INJECT $timeout
var t = $timeout(function(){
$scope.AdvertiserRegistration.$submitted = false;
},3000);
window.location = '#/advertiser/register/step'+step;
}

}

关于javascript - AngularJS $scope.form.$subscribed 显示 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37815300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com