gpt4 book ai didi

angularjs - 如何在AngularJs中将vm传递给setTimeout?范围的更改不会更新DOM View

转载 作者:行者123 更新时间:2023-12-03 10:21:24 26 4
gpt4 key购买 nike

我正在尝试以下代码。当我看到该组件出现/消失时,一切似乎都在起作用,这取决于我为变量设置的值。但是,当我在setTimeout(...)函数中执行此操作时,它开始出现异常。会显示愚蠢的文本,但没有设置为vm的值。我的猜测是我需要以某种方式通过它,但我不确定如何通过。

(function () {
'use strict';

angular
.module("app")
.controller("Banana", banana);

function banana() {
var vm = this;
vm.showStuff = false;

setTimeout(function () {
console.log("poof!");
vm.showStuff = true;
}, 1000);
}
})();

我需要使 View 模型可全局访问吗?

最佳答案

尝试使用以下脚本。

(function () {
'use strict';

angular
.module("app")
.controller("Banana", banana);

function banana($timeout) {
var vm = this;
vm.showStuff = false;

$timeout(function () {
console.log("poof!");
vm.showStuff = true;
}, 1000);
}
})();

需要注意的是-需要执行其他步骤。
  • setTimeout(...)代替$timeout(...)
  • $timeout传递到banana(...)中。
  • 提供banana.$inject = ["$timeout",...]
  • 关于angularjs - 如何在AngularJs中将vm传递给setTimeout?范围的更改不会更新DOM View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42701048/

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