0

我正在使用 angularjs 和 couchpotato 来帮助延迟加载。我的问题是如何在使用 couchpotato 注册的服务中引用 angularjs 服务,例如 $http、$cookies?

正常的angularjs方式:

factory('MyService', function($cookies) {
  $cookies.message = "hello";
});

如何使用 angularjs 和 couchpotato.js 完成上述操作?以下是我对沙发土豆的服务:

define(['app'], function(app) {
  app.couchPotato.registerFactory(['myFactory',
    [
      function() {
        var factory = {};

        factory.registerCookie = function(){
          $cookies.message = 'hello';
        };

        return factory;
      }
    ]
  ]);
});

当然上面的方法是行不通的,因为我在工厂里没有提到 $cookies 。

尽管上面的示例是特定于 $cookies 的,但它与所有 Angular 服务相关,例如 $http、$rootScope 等。

链接到 couchpotato.js:LINK

4

1 回答 1

1

这不在我的脑海中,但是像这样

define(['app'], function(app) {
  app.couchPotato.registerFactory(['myFactory',
    [ '$http', '$cookies',
      function($http, $cookies) {
        var factory = {};

        factory.registerCookie = function(){
          $cookies.message = 'hello';
        };

        return factory;
      }
    ]
  ]);
});

您还可以查看注入 $scope的示例https://github.com/afterglowtech/angular-couchPotato/blob/master/samples/components-demo/js/lazy/controllers/myCtrl1.js

于 2013-06-29T19:02:57.657 回答