当前位置: 首页 > 编程笔记 >

angularJS实现不同视图同步刷新详解

叶光华
2023-03-14
本文向大家介绍angularJS实现不同视图同步刷新详解,包括了angularJS实现不同视图同步刷新详解的使用技巧和注意事项,需要的朋友参考一下

前言

作为angularJS框架MVC中M和V的桥梁,controller在整个angularJS的web应用中有着举足轻重的作用。

通常我们可以使用单例service的方式在不同的controller里面共享数据。比如在controller1中通过点击事件修改了service里面的值,controller2中再通过点击事件去获取service中被修改的值,即实现了一个值的传递。但是,如果在controller2中没有设置点击事件,如何实现当controller1中修改了值后,controller2自动去获取新值呢?

比如有这么一个场景,你有一个服务,服务中存储着你需要的数据。你有一个列表视图A,以及一个数据显示视图B,通过两个控制器Actl以及Bctl去分别控制这两个视图,并且Actl和Bctl有一个共同的父ctl。当你点击列表视图A中的不同列表项,数据显示视图B会同步的根据你选择的不同列表项去服务中获取相应的数据并将其显示在自己的视图界面上。

 通过$on,$broadcast,$emit方法实现不同视图界面同步刷新

angularJS提供了一整套的事件传播方法,用来在不同的控制器中传递事件以及数据。

$on用于在作用域中html" target="_blank">监控从子级或父级作用域中传播的事件以及相应的数据。

格式如下:$on(event,data);

$broadcast的作用是将事件从父级作用域传播至子级作用域,包括自己。

格式如下:$broadcast(eventName,args);

$emit的作用是将事件从子级作用域传播至父级作用域,包括自己,直至根作用域。

格式如下:$emit(eventName,args);

通过上面三个方法即能实现我们场景的需求。

方法如下:

1.在列表视图A中,使用譬如$emit('fresh',data)的形式发射一个事件,data可以是你选择的这个列表项的编号等

2.在父ctl上通过$on监听该事件,获取列表视图A传递上来的data,然后通过$broadcast向下广播事件

3.在数据显示视图B中,监听父ctl广播的事件类型,在回调函数里面使用得到的data值去service中获取相应的数据,然后使用$apply方法刷新视图。

以上这篇angularJS实现不同视图同步刷新详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 使用WAMP在Windows 7上工作。 更改视图代码不会反映在浏览器中。 我试过: > php工匠缓存:清除 php artisan视图:清除 作曲家杜普莫托洛德 删除了存储/框架/视图下的所有内容 重新启动计算机 在我的php中。ini操作缓存已禁用: opcache.enable=0 没有任何帮助,这是非常令人沮丧的。 我错过了什么?

  • 本文向大家介绍不同js异步函数同步的实现方法,包括了不同js异步函数同步的实现方法的使用技巧和注意事项,需要的朋友参考一下 不同函数达到同步的函数模拟 funcList是函数执行函数的队列,其中回调函数中flag=true是同步标记量 以上这篇不同js异步函数同步的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 我有一个具有2个视图\控制器的应用程序: 谢谢你。

  • 视频同步功能为对于远程服务器上的视频内容进行批量抓取上传的工具。 进入视频页面,在视频同步页面,点击右上角+导入任务 按钮 弹出导入视频任务界面 1)选择本次批量上传视频的分类及标签。 2)点击+导入CSV文件,选择本地CSV并添加。 3)可对同步任务进行暂停、删除、详情、导出等操作。 附:CSV格式 1.仅允许上传CSV格式文件。 2.上传的CSV文件中包含两列内容: 视频下载地址、视频标题。

  • 本文向大家介绍AngularJS实现根据不同条件显示不同控件,包括了AngularJS实现根据不同条件显示不同控件的使用技巧和注意事项,需要的朋友参考一下 由于项目需求,需要实现根据不同条件显示不同控件的功能。具体要求如下图所示: 即当选择“每单固定减”时,下方只显示“减免金额”一栏;     当选择“每单固定折扣”时,下方只显示“折扣比例”一栏;     当选择“每单满额减”时,下方只显示“满.

  • 本文向大家介绍AngularJS实现页面定时刷新,包括了AngularJS实现页面定时刷新的使用技巧和注意事项,需要的朋友参考一下 有时我们在前端可能会有这样的需求: 1、每隔一段时间刷新一下页面中的数据 2、根据需要可以暂停和启用刷新 接下来我们就来看下AngularJS的实现方法: 首先我们了解到AngularJS中$interval可以用来处理间歇性处理一些事情,那么我们的间歇性刷新就使用i