如下所示:
- <div ng-App="module">
- <div ng-controller="ctrl1">
- <table border="1" width="600">
- <tr>
- <td> 网站名称 </td>
- <td> 网址 </td>
- </tr>
- <tr ng-repeat="v in data.webs">
- <td>{{v.name}}</td>
- <td>{{v.url}}</td>
- </tr>
- </table>
- </div>
- <hr>
- <div ng-controller="ctrl2">
- <table border="1" width="600">
- <tr>
- <td> 网站名称 </td>
- <td> 网址 </td>
- </tr>
- <tr ng-repeat="v in data.webs">
- <td>{{v.name}}</td>
- <td>{{v.url}}</td>
- </tr>
- </table>
- <h1>{{Web.name}}</h1>
- <button ng-click="removeAll()"> 删除所有数据 </button>
- </div>
- </div>
- <script>
- var m = angular.module('module', []);
- // 定义服务
- m.factory('videoServer', ['$http', function ($http) {
- var obj = {
- data: {webs:[]},
- // 所有数据
- all: function () {
- return $http({url: '1.PHP'}).then(function (response) {
- obj.data.webs = response.data;
- return obj.data;
- });
- },
- // 获取一条数据
- find: function (id) {
- return this.all().then(function (data) {
- for (var i = 0; i <data.length; i++) {
- if (data[i].id == id) {
- return data[i];
- }
- }
- });
- },
- // 删除所有数据
- flush: function () {
- obj.data.webs=[];
- }
- };
- return obj;
- }]);
- // 控制器 ctrl1
- m.controller('ctrl1', ['$scope', 'videoServer', function ($scope, videoServer) {
- videoServer.all().then(function (data) {
- $scope.data = data;
- });
- }]);
- // 控制器 ctrl2
- m.controller('ctrl2', ['$scope', 'videoServer', function ($scope, videoServer) {
- videoServer.all().then(function (data) {
- $scope.data = data;
- });
- videoServer.find(1).then(function (data) {
- $scope.Web = data;
- })
- $scope.removeAll=function(){
- videoServer.flush();
- }
- }]);
- </script>
1.PHP
- <?PHP
- $data = [
- [ 'name' => '百度', 'url' => 'www.baidu.com' ],
- [ 'name' => '谷歌', 'url' => 'google.com' ],
- ];
- echo json_encode($data,JSON_UNESCAPED_UNICODE);
来源: http://www.jb51.net/article/148282.htm