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 相关文章推荐
Document对象内容集合(比较全)
Sep 06 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
Nov 13 Javascript
jQuery实现简单的日期输入格式化控件
Mar 12 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
Mar 26 Javascript
jquery实现简洁文件上传表单样式
Nov 02 Javascript
javascript生成随机数方法汇总
Nov 12 Javascript
Angular2+国际化方案(ngx-translate)的示例代码
Aug 23 Javascript
微信小程序日期选择器实例代码
Jul 18 Javascript
vue权限路由实现的方法示例总结
Jul 29 Javascript
js实现点击展开隐藏效果(实例代码)
Sep 28 Javascript
如何在node环境实现“get数据解析”代码实例
Jul 03 Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 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中运用jQuery的Ajax跨域调用实现代码
2012/02/21 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
对PHP依赖注入的理解实例分析
2016/10/09 PHP
PHP unset函数原理及使用方法解析
2020/08/14 PHP
Mootools 1.2教程 Fx.Tween的使用
2009/09/15 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
javascript实现原生ajax的几种方法介绍
2013/09/21 Javascript
封装的jquery翻页滚动(示例代码)
2013/11/18 Javascript
jquery鼠标停止移动事件
2013/12/21 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
2015/03/12 Javascript
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
一文秒懂JavaScript构造函数、实例、原型对象以及原型链
2020/08/25 Javascript
用Python中的wxPython实现最基本的浏览器功能
2015/04/14 Python
python将字符串转换成数组的方法
2015/04/29 Python
Python 爬虫的工具列表大全
2016/01/31 Python
Python 字符串换行的多种方式
2018/09/06 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
python关于调用函数外的变量实例
2019/12/26 Python
浅谈Python程序的错误:变量未定义
2020/06/02 Python
会计毕业生自荐信
2013/11/21 职场文书
新员工考核评语
2014/12/31 职场文书
公证书格式
2015/01/23 职场文书
被告答辩状范文
2015/05/22 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
先进个人主要事迹范文
2015/11/04 职场文书
酒吧七夕情人节宣传语
2015/11/24 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android
Pandas数据类型之category的用法
2021/06/28 Python
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis