gpt4 book ai didi

javascript - $timeout - Number 不是一个函数

转载 作者:行者123 更新时间:2023-11-29 19:31:26 25 4
gpt4 key购买 nike

在 Angular 指令中让 $timeout 工作很糟糕。本质上,即使是最简单的实现也会继续抛出 TypeError: number is not a function 错误。

我做了一些研究,但我终究无法弄清楚哪里出了问题。

$timeout(function(){
console.log('$timeout called');
}, 500);

我只能假设 $timeout 需要一个延迟函数,除非我没有正确阅读文档,否则这没有任何意义。

https://docs.angularjs.org/api/ng/service/ $超时

提前致谢。

从指令中删除了除 $timeout 实现之外的所有内容。

    (function (window, angular, undefined) {
'use strict';

angular.module('bento.numberinput', ['bento.services'])
.factory('$helper',[
function(){

// code here

}
])
.directive('bentoNumberInput', [
'$helper',

function ($helper) {
return {
restrict : 'A',
require : '?ngModel',
replace : false,
transclude: true,
link: function($scope, $element, $attrs, $controller, $timeout){

$timeout(function(){
console.log('$timeout called');
}, 500);

}
};
}]);

})(window, window.angular);

最佳答案

$timeout 需要在顶部注入(inject),就像你的 $helper 一样,通过指令名称注入(inject)到函数中,因为你使用的是数组形式

.directive('bentoNumberInput', [ 
'$helper', '$timeout',

function ($helper, $timeout) {
return {
restrict : 'A',
require : '?ngModel',
replace : false,
transclude: true,
link: function($scope, $element, $attrs, $controller){

$timeout(function(){
console.log('$timeout called');
}, 500);

}
};
}]);

关于javascript - $timeout - Number 不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27234876/

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