多个页面上的角度服务

时间:2014-07-07 22:26:18

标签: angularjs module factory

我正在执行API信息中心,因为模板原因,我需要将登录页面从应用程序的其余部分拆分。

我使用工厂创建了一个服务,如下所示:

angular.module('dashboard').factory('$api', function() {
    var api_url = 'https://my.great.app/api/';
    return {
      resolve:function(path){
        return api_url + '/' + path;
      }
    };
});

我如何与其他人分享?

我是一个真正的新角色,我对使用bower,grunt,nodes js等有点困惑......

d

2 个答案:

答案 0 :(得分:0)

Angular有好mechanism for dependency injection

在您的情况下,您可以使用下一个代码将工厂注入控制器:

angular.module('dashboard')
.controller('myCtrl', ['$scope', '$api', function($scope, $api){
    var result = $api.resolve('path');
}])

答案 1 :(得分:0)

提示:

创建一个js文件来创建模块并将其共享给其他文件,例如:

  

main.js

var App = angular.module("myModuelName", [])

所以,现在您可以在HTML中包含此文件,这将共享您的App var到其他文件

所以你可以做到

App.controller("myCtrl" ['$scope', '$api', function($scope, $api){
    $scope.path = $api.resolve('myInternalPath')
}])

服务是在控制器之间共享信息的好方法