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 相关文章推荐
JS解密入门 最终变量劫持
Jun 25 Javascript
javascript string字符串优化问题
Jul 31 Javascript
jquery indexOf使用方法
Aug 19 Javascript
JQuery验证jsp页面属性是否为空(实例代码)
Nov 08 Javascript
javascript 通用loading动画效果实例代码
Jan 14 Javascript
jquery trigger伪造a标签的click事件取代window.open方法
Jun 23 Javascript
微信小程序 SocketIO 实例讲解
Oct 13 Javascript
微信小程序 swiper制作tab切换实现附源码
Jan 21 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
浅谈JS验证表单文本域输入空格的问题
Feb 14 Javascript
Angular-UI Bootstrap组件实现警报功能
Jul 16 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 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上传文件的增强函数
2010/07/21 PHP
Javascript 继承机制实例
2009/08/12 Javascript
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
2010/12/28 Javascript
js+html+css实现鼠标移动div实例
2013/01/30 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
window.location.href IE下跳转失效的解决方法
2014/03/27 Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
2015/02/04 Javascript
JS实现兼容各浏览器解析XML文档数据的方法
2015/06/01 Javascript
用JavaScript实现页面重定向功能的教程
2015/06/04 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
基于BootStrap Metronic开发框架经验小结【九】实现Web页面内容的打印预览和保存操作
2016/05/12 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
layer弹出层倒计时关闭的实现方法
2019/09/27 Javascript
js blob类型url的视频下载问题的解决
2019/11/29 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
jQuery操作元素的内容和样式完整实例分析
2020/01/10 jQuery
python正则表达式match和search用法实例
2015/03/26 Python
python处理二进制数据的方法
2015/06/03 Python
python冒泡排序简单实现方法
2015/07/09 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
python脚本监控docker容器
2016/04/27 Python
Python3.7 读取 mp3 音频文件生成波形图效果
2019/11/05 Python
keras 多任务多loss实例
2020/06/22 Python
windows+vscode安装paddleOCR运行环境的步骤
2020/11/11 Python
高分子材料与工程专业个人求职信
2013/12/15 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
校庆活动方案
2014/03/31 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
新疆民族团结演讲稿
2014/08/27 职场文书
镇副书记专题民主生活会对照检查材料思想汇报
2014/10/02 职场文书
干部四风问题整改措施思想汇报
2014/10/13 职场文书
给女朋友道歉的话大全
2015/01/20 职场文书
工商局个人工作总结
2015/03/03 职场文书
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS