我有

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


超时功能可以正常工作,但第一行不会被触发。

在表单上提交后,我基本上将其用作成功消息

最佳答案

您将不得不将其更改为类似

vm.showSuccess = true;

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


您的代码中发生的事情是控制器已初始化,并且那时vm.showSuccess设置为true,并且在第3行将其立即设置为false,这使您有了不执行的想法。

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

09-25 17:48