在一個 Module 中可能會需要有一些資源是要在各個 Controller 共用,這時就可以利用 AngularJS 的 Factory

使用方法

var ballApp = angular.module('BallApp', []);

// 新增 Factory
ballApp.factory('UserService', function($http) {
    // 利用 $http 抓取資料
    return {
        fetch: $http.get('getName.php')
    };
});

ballApp.controller('PersonCtrl', function($scope, UserService) {
    // 使用 UserService
    UserService.fetch.success(function(name) {
        $scope.name = name;
    });
});

ballApp.controller('OtherCtrl', function($scope, UserService) {
    UserService.fetch.success(function(name) {
        $scope.name = name;
    });
});
Categories: AngularJS