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啊!就是这样!!!谢谢:)嗯,我需要做一个问题请求,谢谢你的额外反馈:)