我有以下代码...
然而,测试始终为null,那我应该如何传入变量?
$timeout(function(test){
console.log(test.num);
},0, true, {num:9});
然而,测试始终为null,那我应该如何传入变量?
$timeout(function(test){
console.log(test.num);
},0, true, {num:9});
您的代码是正确的。然而,您正在运行一个不支持第四个参数的旧版本AngularJS。您需要至少1.4.0版本。
通常情况下,您不必显式传递参数,因为它们在封闭作用域中定义,并且在闭包中可见。这也可以工作:
var param = {num:9};
$timeout(function(){
console.log(param.num);
});
$timeout((function(test) {
return function() { console.log(test.num) }
})({num: 9}));
(function(test){
$timeout(function(){
console.log(test.num);
},0, true, {num:9});
})({num: 11});
test
,那么你的$timeout
将会使用它。