$timeout前的行不能工作(angularjs)

The line before a $timeout is not working (angularjs)

本文关键字:工作 angularjs 不能 timeout      更新时间:2023-09-26

我有

vm.showSuccess = true;
$timeout(function() { close(); }, 2000);
vm.showSuccess = false;

timeout函数工作正常,但是第一行没有被触发。

我用它作为表单提交后的成功消息

您必须将其更改为

vm.showSuccess = true;
$timeout(function () {
  close();
  vm.showSuccess = false;
}, 2000);

在你的代码中发生的事情是控制器被初始化,当时vm.showSuccess被设置为true,并且在第3行它被立即设置为false,这给你的想法是它不会被执行。

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