3

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

然后我使用指令:

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

4

2 回答 2

7

尝试这个:

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

    }
  };
});
于 2013-08-06T13:22:08.873 回答
3

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

如果您想从指令内部访问 $scope ,那么您将其称为链接函数中的第一个参数(请参阅 Epokk 的答案)。

于 2015-01-22T09:21:41.473 回答