"Controllers as" $timeout 中的语法
"Controllers as" syntax in $timeout
今天我试图通过在 $timeout 中使用 "controller as" 语法来解决问题。我试着做一个 "fake pointer",使用对象。不幸的是它不起作用。有人知道如何在不使用 $scope 的情况下解决这个问题吗?
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);
今天我试图通过在 $timeout 中使用 "controller as" 语法来解决问题。我试着做一个 "fake pointer",使用对象。不幸的是它不起作用。有人知道如何在不使用 $scope 的情况下解决这个问题吗?
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);