angularJs在多个控制器中共享服务数据的方法


Posted in Javascript onSeptember 30, 2018

如下所示:

<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在多个控制器中共享服务数据的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery使用height()获取高度需要注意的地方
Dec 13 Javascript
innerHTML中标签可以换行的方法汇总
Aug 14 Javascript
通过js获取上传的图片信息(临时保存路径,名称,大小)然后通过ajax传递给后端的方法
Oct 01 Javascript
js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别?
Nov 18 Javascript
JavaScript判断对象是否为数组
Dec 22 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
Jun 13 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
Aug 01 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
Sep 04 Javascript
小程序云开发之用户注册登录
May 18 Javascript
vue源码nextTick使用及原理解析
Aug 13 Javascript
vue使用高德地图点击下钻上浮效果的实现思路
Oct 12 Javascript
iview Upload组件多个文件上传的示例代码
Sep 30 #Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 #Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 #Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 #jQuery
angularJs使用ng-repeat遍历后选中某一个的方法
Sep 30 #Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 #Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
Sep 30 #Javascript
You might like
php中使用cookie来保存用户登录信息的实现代码
2012/03/08 PHP
php define的第二个参数使用方法
2013/11/04 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
如何使用php等比例缩放图片
2016/10/12 PHP
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
javascript针对不确定函数的执行方法
2015/12/16 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
2017/06/09 jQuery
彻底解决 webpack 打包文件体积过大问题
2017/07/07 Javascript
JS实现模糊查询带下拉匹配效果
2018/06/21 Javascript
JS对象和字符串之间互换操作实例分析
2019/02/02 Javascript
详解element-ui中form验证杂记
2019/03/04 Javascript
一步一步实现Vue的响应式(对象观测)
2019/09/02 Javascript
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
Python中常用的内置方法
2019/01/28 Python
opencv之为图像添加边界的方法示例
2019/12/26 Python
Pycharm小白级简单使用教程
2020/01/08 Python
Python更新所有已安装包的操作
2020/02/13 Python
Python递归函数特点及原理解析
2020/03/04 Python
怎么快速自学python
2020/06/22 Python
python tkinter实现下载进度条及抖音视频去水印原理
2021/02/07 Python
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
您熟悉ORM(Object-Relation Mapping)吗?请谈谈您所理解的ORM
2016/02/08 面试题
大学生毕业自荐信
2013/10/10 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
建设工地安全标语
2014/06/07 职场文书
师范生见习总结范文
2015/06/23 职场文书
让人感觉高大上的讲话稿怎么写?
2019/07/08 职场文书
Java Socket实现Redis客户端的详细说明
2021/05/26 Redis
把77A收信机改造成收音机
2022/04/05 无线电
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫