Rails中Angular的依赖注入

时间:2015-02-08 01:42:00

标签: ruby-on-rails angularjs dependency-injection

Angular.js中依赖注入的语法令我感到困惑。

我有一个使用Angular的Rails应用程序。其中一个指令需要使用$cookies服务。所以我有主要的Javascript文件,我声明了角度应用程序,以及带有js文件的指令文件夹,用于我的指令。

所以这是主js文件的相关部分。我正在尝试将ngCookies模块注入其中:

app.js

angular.module('myApp', [
  'templates',
  'ngCookies'
]);

以下是包含需要$cookies服务的指令的文件:

我-directive.js

angular.module('myApp')
  .directive("myDirective", ['$cookies', function(){
    return {
      restrict: 'E'
      templateUrl: "my-directive-template.html",
      scope: {
        article: '=ngModel'
      },
      link: function(scope, element, attrs){
        scope.myFunction = function(){
          $cookies.example = "hello world"; // set a cookie
        };
      }
    };
  }]);

所以我试图将ngCookies模块注入myApp模块,然后将$cookies服务注入指令。

此语法不起作用; Firebug给了我一个错误:“错误:$ cookies未定义”。

你能帮我解决一下如何正确地在Angular中注入依赖项吗?

1 个答案:

答案 0 :(得分:0)

哦,我的!我想我唯一需要的是添加$ cookies作为函数声明的属性以便行

.directive("myDirective", ['$cookies', function(){

成了

.directive("myDirective", ['$cookies', function($cookies){