本篇文章介绍 2 种自定义服务的方式, 一种是用 factory, 一种是用 service
一, 首先介绍使用 factory 来进行自定义服务
1.html
- <div ng-App="module" ng-controller="ctrl">
- <table border="1" width="600">
- <tr>
- <td> 网站名称 </td>
- <td> 网址 </td>
- </tr>
- <tr ng-repeat="v in data">
- <td>{{v.name}}</td>
- <td>{{v.url}}</td>
- </tr>
- </table>
- </div>
- <script>
- var m = angular.module('module', []);
- //factory 定义服务 videoServer
- m.factory('videoServer', ['$http', function ($http) {
- return {
- /* 第一种方式
- get: function (callback) {
- $http({url: '1.PHP'}).then(function (response) {
- callback(response);
- });
- }*/
- // 第二种方式
- all: function () {
- return $http({url: '1.PHP'});
- }
- };
- }]);
- // 在控制器中使用 videoServer 服务, 与自带的服务使用方式一样
- m.controller('ctrl', ['$scope', 'videoServer', function ($scope, videoServer) {
- /* 第一种方式
- videoServer.get(function (response) {
- $scope.data = response.data;
- });
- */
- // 第二种方式
- videoServer.all().then(function (response) {
- $scope.data = response.data;
- });
- }]);
- </script>
1.PHP
- <?PHP
- $data = [
- [ 'name' => '百度', 'url' => 'www.baidu.com' ],
- [ 'name' => '谷歌', 'url' => 'google.com' ],
- ];
- echo json_encode($data,JSON_UNESCAPED_UNICODE);
二, 使用 service 来进行自定义服务
2.HTML
- <div ng-App="module" ng-controller="ctrl">
- <table border="1" width="600">
- <tr>
- <td> 网站名称 </td>
- <td> 网址 </td>
- </tr>
- <tr ng-repeat="v in data">
- <td>{{v.name}}</td>
- <td>{{v.url}}</td>
- </tr>
- </table>
- </div>
- <script>
- var m = angular.module('module', []);
- //service 自定义服务 videoServer
- m.service('videoServer', ['$http', function($http){
- this.get=function(){
- return $http({method:'get',url:'2.PHP'}).then(function(response){
- return response.data;
- })
- }
- }])
- // 在控制器中使用 videoServer 服务, 与自带的服务使用方式一样
- m.controller('ctrl', ['$scope', 'videoServer', function ($scope, videoServer) {
- videoServer.get().then(function (data) {
- $scope.data = data;
- });
- }]);
- </script>
2.PHP
- <?PHP
- $data = [
- [ 'name' => '百度', 'url' => 'www.baidu.com' ],
- [ 'name' => '谷歌', 'url' => 'google.com' ],
- ];
- echo json_encode($data,JSON_UNESCAPED_UNICODE);
来源: http://www.jb51.net/article/148283.htm