Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $provider.decorator为指令提供未知提供程序_Javascript_Angularjs - Fatal编程技术网

Javascript $provider.decorator为指令提供未知提供程序

Javascript $provider.decorator为指令提供未知提供程序,javascript,angularjs,Javascript,Angularjs,我延迟加载依赖于用户的模块。然后我不想为与模块一起加载的指令声明一个修饰符。但当我试图装饰一个指令时,我得到了一个未知的提供者 angular.module(moduleName).config(function ($provide) { var invokeQueue = angular.module(moduleName)._invokeQueue; invokeQueue.forEach(function (service) { if(service[1]

我延迟加载依赖于用户的模块。然后我不想为与模块一起加载的指令声明一个修饰符。但当我试图装饰一个指令时,我得到了一个未知的提供者

angular.module(moduleName).config(function ($provide) {
    var invokeQueue = angular.module(moduleName)._invokeQueue;
    invokeQueue.forEach(function (service) {
        if(service[1] === 'directive'){
            var directive = service[2][0];
            $provide.decorator(directive, function ($delegate) {
                return $delegate;
            })
        }
    });
});
var指令是正在设置的指令名称

错误

[$injector:unpr]未知提供程序:解调器提供程序

如果我改代码为接受服务或工厂,它就会工作

以下两项工作

if(service[1] === 'service')
if(service[1] === 'factory')

任何关于此wan为什么不能与指令一起工作的建议都表明,角度指令名称的后缀是“directive”

哈我认为“指令”后缀只是人们用来举例的惯例。不,这是必需的。谢谢
angular.module(moduleName).config(function ($provide) {
    var invokeQueue = angular.module(moduleName)._invokeQueue;
    invokeQueue.forEach(function (service) {
        if(service[1] === 'directive'){
            var directive = service[2][0];
            console.log(directive);
            $provide.decorator(directive+'Directive', function ($delegate) {
                return $delegate;
            })
        }
    });
});