Javascript $timeout之前的行不工作(angularjs)

Javascript $timeout之前的行不工作(angularjs),javascript,angularjs,timeout,Javascript,Angularjs,Timeout,我有 timeout函数工作正常,但第一行不会被触发 我基本上是在表单提交后将其作为一条成功消息来使用的您必须将其更改为 vm.showSuccess = true; $timeout(function() { close(); }, 2000); vm.showSuccess = false; 代码中发生的情况是控制器被初始化,此时vm.showSuccess被设置为true,而在第3行,它立即被设置为false,这让您知道它没有被执行 请注意,在我的代码示例中,您的最后一行实际上位于$ti

我有

timeout函数工作正常,但第一行不会被触发


我基本上是在表单提交后将其作为一条成功消息来使用的

您必须将其更改为

vm.showSuccess = true;
$timeout(function() { close(); }, 2000);
vm.showSuccess = false;
代码中发生的情况是控制器被初始化,此时
vm.showSuccess
被设置为true,而在第3行,它立即被设置为false,这让您知道它没有被执行


请注意,在我的代码示例中,您的最后一行实际上位于
$timeout
内,因此它将在2秒后执行。

您必须将其更改为

vm.showSuccess = true;
$timeout(function() { close(); }, 2000);
vm.showSuccess = false;
代码中发生的情况是控制器被初始化,此时
vm.showSuccess
被设置为true,而在第3行,它立即被设置为false,这让您知道它没有被执行


请注意,在我的代码示例中,您的最后一行实际上位于
$timeout
内,因此它在2秒后执行。

它在控制器初始化时被激发。我猜您希望它在
close()
调用后被激发,就像
$timeout(function(){close();vm.showsucture=false;},2000)它是在控制器初始化时触发的。我想您希望它在调用
close()
后触发,就像调用
$timeout(function(){close();vm.showsucture=false;},2000)