我有
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秒后执行。