angularJs在多个控制器中共享服务数据的方法
- 作者: 亖呉?盀
- 来源: 51数据库
- 2020-08-12
今天小编就为大家分享一篇angularJs在多个控制器中共享服务数据的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
如下所示:
<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);
以上这篇angularJs在多个控制器中共享服务数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,
推荐阅读
热点文章
Angular中响应式表单的三种更新值方法详析
7
Angularjs实现下拉框联动的示例代码
7
详解AngularJS跨页面传值(ui-router)
2
详解AngularJS1.x学习directive 中‘& ’‘=’ ‘@’符号的区别使用
3
angular2路由切换改变页面title的示例代码
4
Angular2 组件间通过@Input @Output通讯示例
5
Angularjs中ng-repeat的简单实例
3
AngularJS 中ui-view传参的实例详解
4
浅谈Angular路由守卫
4
详解基于Angular4+ server render(服务端渲染)开发教程
4
