Javascript &引用;控制器为;$timeout中的语法
今天,我试图解决在$timeout中使用“controller as”语法的问题。我试着用object做一个“假指针”。不幸的是,它不起作用。有人知道如何在不使用$scope的情况下解决此问题吗Javascript &引用;控制器为;$timeout中的语法,javascript,angularjs,pointers,reference,Javascript,Angularjs,Pointers,Reference,今天,我试图解决在$timeout中使用“controller as”语法的问题。我试着用object做一个“假指针”。不幸的是,它不起作用。有人知道如何在不使用$scope的情况下解决此问题吗 this.shakeNotValid = {val: true}; function objChange (obj) { console.log(obj.val); obj.val = false; console.log(obj.val); } $timeout(objCh
this.shakeNotValid = {val: true};
function objChange (obj) {
console.log(obj.val);
obj.val = false;
console.log(obj.val);
}
$timeout(objChange(this.shakeNotValid), 400);
您的
$timeout
中有一个错误,您忘记了匿名函数:
var scope = this;
scope.shakeNotValid = {val: true};
$timeout(function() {
objChange(scope.shakeNotValid)
} , 400);
函数
$timeout
在第一个参数中等待函数onChange()
(带括号)调用一个函数,但它不是一个函数。使用Angular时,我建议您为“this”使用一个变量,以防止范围错误
var scope = this;
scope.shakeNotValid = {val: true};
function objChange (obj) {
console.log(obj.val);
obj.val = false;
console.log(obj.val);
}
$timeout(function(){objChange(scope.shakeNotValid)}, 400);
它不起作用了。错误“”。当前代码:this.shakeNotValid={val:true};函数objChange(obj){obj.val=false;}$timeout(函数(){objChange(this.shakeNotValid);},400)@user3452592将“this”捕获到一个变量中,就像kikerroblesIt的答案一样,它不起作用。TypeError“无法设置未定义的属性“val”。当前代码:this.shakeNotValid={val:true};函数objChange(obj){obj.val=false;}$timeout(函数(){objChange(this.shakeNotValid);},400);在我看来,它不起作用,因为在$timeout中使用了“this”。无论如何,非常感谢:)