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.timer插件实现一个计时器
Apr 25 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
Js nodeType 属性全面解析
Nov 14 Javascript
JavaScript中的parse()方法使用简介
Jun 12 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
Bootstrap精简教程中秋大放送
Sep 15 Javascript
在Vue中使用highCharts绘制3d饼图的方法
Feb 08 Javascript
vue-router 源码之实现一个简单的 vue-router
Jul 02 Javascript
node(koa2) web应用模块介绍详解
Mar 29 Javascript
js实现图片3D轮播效果
Sep 21 Javascript
webpack 处理CSS资源的实现
Sep 27 Javascript
Vuex的实战使用详解
Oct 31 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/08/08 PHP
smarty中post用法实例
2014/11/28 PHP
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
yii2使用ajax返回json的实现方法
2016/05/14 PHP
Yii2中YiiBase自动加载类、引用文件方法分析(autoload)
2016/07/25 PHP
php制作圆形用户头像的实例_自定义封装类源代码
2017/09/18 PHP
再JavaScript的jQuery库中编写动画效果的指南
2015/08/13 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
Nodejs Express4.x开发框架随手笔记
2015/11/23 NodeJs
JavaScript基础知识之方法汇总结
2016/01/24 Javascript
AngularJS入门教程之链接与图片模板详解
2016/08/19 Javascript
JS 拼凑字符串的简单实例
2016/09/02 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
简单谈谈offsetleft、offsetTop和offsetParent
2020/12/04 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
python实现的一只从百度开始不断搜索的小爬虫
2013/08/13 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python算法之求n个节点不同二叉树个数
2017/10/27 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
python 对key为时间的dict排序方法
2018/10/17 Python
python取余运算符知识点详解
2019/06/27 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
财务分析个人的自荐书范文
2013/11/24 职场文书
物业管理计划书
2014/01/10 职场文书
办理护照介绍信
2014/01/16 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
债务授权委托书范本
2014/10/17 职场文书
部门2015年度工作总结
2015/04/29 职场文书
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
2021/04/04 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
2022/06/01 Servers