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 相关文章推荐
JavaScript中的property和attribute介绍
Dec 26 Javascript
javascript抖动元素的小例子
Oct 28 Javascript
window.showModalDialog()返回值的学习心得总结
Jan 07 Javascript
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
ECMAScript 5严格模式(Strict Mode)介绍
Mar 02 Javascript
js带点自动图片轮播幻灯片特效代码分享
Sep 07 Javascript
JavaScript动态添加事件之事件委托
Jul 12 Javascript
详解vue组件化开发-vuex状态管理库
Apr 10 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 Javascript
基于JS开发微信网页录音功能的实例代码
Apr 30 Javascript
在JavaScript中使用严格模式(Strict Mode)
Jun 13 Javascript
layui下拉框获取下拉值(select)的例子
Sep 10 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
ASP和PHP都是可以删除自身的
2007/04/09 PHP
Symfony2中被遗弃的getRequest()方法分析
2016/03/17 PHP
使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能示例
2017/09/15 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
Jquery命名冲突解决的五种方案分享
2012/03/16 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
JS中如何实现点击a标签返回页面顶部的问题
2017/01/19 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
javascript  删除select中的所有option的实例
2017/09/17 Javascript
解决Vue 通过下表修改数组,页面不渲染的问题
2018/03/08 Javascript
vue 标签属性数据绑定和拼接的实现方法
2018/05/17 Javascript
使用vue-router完成简单导航功能【推荐】
2018/06/28 Javascript
vue项目中实现图片预览的公用组件功能
2018/10/26 Javascript
基于Vue实现的多条件筛选功能的详解(类似京东和淘宝功能)
2019/05/07 Javascript
通过JS深度判断两个对象字段相同
2019/06/14 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
python 获取本机ip地址的两个方法
2013/02/25 Python
Python 文件和输入输出小结
2013/10/09 Python
python BeautifulSoup使用方法详解
2013/11/21 Python
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
Python实现栈的方法
2015/05/26 Python
CentOS 7下Python 2.7升级至Python3.6.1的实战教程
2017/07/06 Python
python hough变换检测直线的实现方法
2019/07/12 Python
python 自定义装饰器实例详解
2019/07/20 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
高分子材料与工程专业个人求职信
2013/12/15 职场文书
应用化学专业职业生涯规划书
2014/01/22 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
护理目标管理责任书
2014/07/25 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
雄兵连:第三季先行图公开,天使恶魔联合,银河之力的新力量
2021/06/11 国漫
详解Vue的列表渲染
2021/11/20 Vue.js