无法创建AngularJS指令

时间:2013-08-06 13:14:12

标签: angularjs angularjs-directive

我是第一次使用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",

然后我使用指令:

我确信我正在做一些非常愚蠢的事情,但我不知道。

2 个答案:

答案 0 :(得分:7)

试试这个:

app.directive('someDirective', function($http) {
  return {
    restrict: 'A',
    link: function(scope, element, attrs) {

    }
  };
});

答案 1 :(得分:3)

您的错误原因是Angular不允许您将$ scope注入指令。

如果你想从一个指令中访问$ scope,那么你将它称为链接函数中的第一个参数(参见Epokk的回答)。