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 一行代码,轻松搞定浮动快捷留言-V2升级版
Apr 02 Javascript
基于jQuery的让非HTML5浏览器支持placeholder属性的代码
May 24 Javascript
js自定义方法通过隐藏iframe实现文件下载
Feb 21 Javascript
js实现缓冲运动效果的方法
Apr 10 Javascript
JQuery中Ajax()的data参数类型实例分析
Dec 15 Javascript
学习使用jquery iScroll.js移动端滚动条插件
Mar 24 Javascript
js表单登陆验证示例
Oct 19 Javascript
微信小程序 参数传递实例代码
Mar 20 Javascript
微信小程序云开发如何使用npm安装依赖
May 18 Javascript
微信小程序左右滚动公告栏效果代码实例
Sep 16 Javascript
javascript绘制简单钟表效果
Apr 07 Javascript
在vue中使用console.log无效的解决
Aug 09 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缩略图生成程式(需要GD库支持)
2007/03/06 PHP
PHP缓存技术的多种方法小结
2012/08/14 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
php生成随机密码自定义函数代码(简单快速)
2014/05/10 PHP
PHP7.0版本备注
2015/07/23 PHP
PHP数组与字符串互相转换实例
2020/05/05 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
jQuery学习7 操作JavaScript对象和集合的函数
2010/02/07 Javascript
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
jQuery EasyUI API 中文文档 - Form表单
2011/10/06 Javascript
给artDialog 5.02 增加ajax get功能详细介绍
2012/11/13 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
分享一道关于闭包、bind和this的面试题
2017/02/20 Javascript
Vue组件选项props实例详解
2017/08/18 Javascript
Nodejs中crypto模块的安全知识讲解
2018/01/03 NodeJs
vue 插值 v-once,v-text, v-html详解
2018/01/19 Javascript
关于Angularjs中跨域设置白名单问题
2018/04/17 Javascript
基于layui数据表格以及传数据的方式
2018/08/19 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
JS面向对象之单选框实现
2020/01/17 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
python文件特定行插入和替换实例详解
2017/07/12 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
解决Python Matplotlib绘图数据点位置错乱问题
2020/05/16 Python
Python使用tkinter实现摇骰子小游戏功能的代码
2020/07/02 Python
2015年勤工助学工作总结
2015/04/29 职场文书
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android