我是第一次使用angularjs用户,我正在尝试创建一个指令但是我无法解决这个错误:
Error: Unknown provider: $scopeProvider <- $scope <- someDirectiveDirective createInjector/providerInjector<@http://localhost:4242/js/lib/angular/angular.js:2734 getService@http://localhost:4242/js/lib/angular/angular.js:2862 createInjector/instanceCache.$injector<@http://localhost:4242/js/lib/angular/angular.js:2739 getService@http://localhost:4242/js/lib/angular/angular.js:2862 ... ... ...
我创建我的角度应用程序如下:
var app = angular.module(
"myApp",
...
然后我尝试在另一个文件中创建我的指令:
app.directive('someDirective', function($http, $scope, $element, $attrs) {
return {
restrict: "A",
然后我使用指令:
我确信我正在做一些非常愚蠢的事情,但我不知道。
答案 0 :(得分:7)
试试这个:
app.directive('someDirective', function($http) {
return {
restrict: 'A',
link: function(scope, element, attrs) {
}
};
});
答案 1 :(得分:3)
您的错误原因是Angular不允许您将$ scope注入指令。
如果你想从一个指令中访问$ scope,那么你将它称为链接函数中的第一个参数(参见Epokk的回答)。