Javascript 未定义ReferenceError$timeout
在这里,我使用$timeout在javascript forloop中添加了一个延迟。出乎意料地,我在说Javascript 未定义ReferenceError$timeout,javascript,angularjs,Javascript,Angularjs,在这里,我使用$timeout在javascript forloop中添加了一个延迟。出乎意料地,我在说 未定义ReferenceError$超时。我是angularjs的新手,请帮帮我。 函数CompLibrary(){ 返回{ init:init } 函数初始化(依赖项、控制器){ 推送(控制器); angularApp.controller('MainCtrl',依赖项); } } var compX=CompLibrary(); compX.init(副控制器); 函数_contro
未定义ReferenceError$超时。我是angularjs的新手,请帮帮我。
函数CompLibrary(){
返回{
init:init
}
函数初始化(依赖项、控制器){
推送(控制器);
angularApp.controller('MainCtrl',依赖项);
}
}
var compX=CompLibrary();
compX.init(副控制器);
函数_controller(){
var ViewModel=此;
ViewModel.search=“Name”;
ViewModel.quantity=1;
对于(变量i=0;i<4;i++){
(职能(i){
$timeout(函数(){
ViewModel.quantity++;
},i*2000);
})(i) 我从这里进来
}
}
您必须将$timeout
注入控制器功能
function _controller($timeout) { ... }
请参见更新的var deps=[];
var angularApp=angular.module('plunker',[]);
函数库(){
返回{
init:init
}
函数初始化(依赖项、控制器){
push(“$timeout”);
推送(控制器);
angularApp.controller('MainCtrl',依赖项);
}
}
var compX=CompLibrary();
compX.init(副控制器);
函数_控制器($timeout){
var ViewModel=此;
ViewModel.search=“Name”;
ViewModel.quantity=1;
对于(变量i=0;i<4;i++){
(职能(i){
$timeout(函数(){
ViewModel.quantity++;
},i*2000);
})(i) 我从这里进来
}
}
通过在控制器函数中注入$timeout
,我们可以解决这个问题
function _controller($timeout) { ... }
var deps = [];
var angularApp = angular.module('plunker',[]);
function CompLibrary() {
return {
init: init
}
function init(dependencies, controller) {
dependencies.push('$timeout');
dependencies.push(controller);
angularApp.controller('MainCtrl', dependencies);
}
}
var compX = CompLibrary();
compX.init(deps, _controller);
function _controller($timeout) {
var ViewModel = this;
ViewModel.search = "Name";
ViewModel.quantity = 1;
for(var i = 0; i < 4; i++) {
(function(i){
$timeout(function() {
ViewModel.quantity++;
}, i * 2000);
})(i); // Pass in i here
}
}