Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.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 为什么我的指令是“扔”;错误:$injector:unpr未知提供程序“;_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript 为什么我的指令是“扔”;错误:$injector:unpr未知提供程序“;

Javascript 为什么我的指令是“扔”;错误:$injector:unpr未知提供程序“;,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我一直致力于将我的控制器、工厂和指令重构为推荐的 我已经让控制器和工厂在新样式下正常工作,但没有指令 未知提供程序:$scopeProvider$scope无法注入指令。我已将代码更改为在指令的控制器中注入$scope 代码: (function() { "use strict"; angular .module('platformHeaderDirectives', []) .directive('platformHeader', directive)

我一直致力于将我的控制器、工厂和指令重构为推荐的

我已经让控制器和工厂在新样式下正常工作,但没有指令


未知提供程序:$scopeProvider
$scope
无法注入指令。我已将代码更改为在指令的控制器中注入
$scope

代码:

(function() { "use strict";

    angular
        .module('platformHeaderDirectives', [])
        .directive('platformHeader', directive);
    directive.$inject = ['$scope'];
    /* @ngInject */
    function directive ($scope) {
        var directive = {
            templateUrl : "header/platform_header/platformHeader.html",
            restrict    : "E",
            replace     : true,
            bindToController: true,
            controller: Controller,
            controllerAs: 'vm',
            link: link,
            scope: {
            }
        };
        return directive;
        function link(scope, element, attrs) {

        }
    }
    /* @ngInject */
    function Controller () {

    }
})();
(function() { "use strict";

    angular.module('platformHeaderDirectives', [])

    .directive('platformHeader', function() {
        return {
            templateUrl : "header/platform_header/platformHeader.html",
            restrict    : "E",
            replace     : true,
            scope       : false,
            controller  : ['$scope',
                           function($scope) {

                /** Init platformHeader scope */
                // var vs = $scope;

            }]
        }
    });

})();
(函数(){“严格使用”;
有棱角的
.module('platformHeaderDirectives',[])
.指令(“平台头”,指令);
/*@ngInject*/
函数指令(){
var指令={
templateUrl:“header/platform\u header/platformHeader.html”,
限制:“E”,
替换:正确,
bindToController:对,
控制器:控制器,
controllerAs:'vm',
链接:链接,
范围:{
}
};
返回指令;
功能链接(范围、元素、属性){
}
}
/*@ngInject*/
控制器。$inject=['$scope'];
功能控制器($scope){
}

})();我知道你得到了答案,但让我解释一下实际情况

$scope不是一项服务(
$scopeProvider
在angular js中不存在),它是angular自身作为
$rootScope的子项注入控制器的特殊功能。

所以您不能显式地将其注入服务、指令等


但正如“jad panda”所解释的,您可以将其显式地注入direcitve的控制器中(而不是直接注入指令)。

指令不接受
范围
注入。请把它取下来试试。@Chandermani啊!就是这样!!!谢谢:)嗯,我需要做一个问题请求,谢谢你的额外反馈:)