文章详情页
javascript - angularjs ui-router 父页面的数据变动如何通知子页面
浏览:102日期:2024-03-03 18:37:12
问题描述
父页面嵌套子页面(ui-view 里面也有ui-view)
子页面是用component来写的,所以继承不了父页面的scope
现在父给子传数据是通过传参实现的 $state.go(’parent.child’, {data: $scope.data})
但如果父的数据修改了,那么子页面是不知道的,还是原来那样。
请问有什么方法可以让父页面的数据修改通知到子页面,或者别的传参方式?
问题解答
回答1:父scope$broadcast子页面可以收到,子页面scope$emit父页面可以收
回答2:这种应该算页面组件间的数据共享问题吧,我能想到的解决方法有以下几种:
借用 angular 内部的事件机制,子页面订阅父页面发布的事件来进行一些变动,反之也是。
实现一个公用的service来储存共享数据,分别在两个页面的组件中注入
使用第三方的状态托管容器,比如大名鼎鼎的redux,使用ng-redux做适配,两个页面通过调用action来改变状态容器储存的状态
标签:
JavaScript
相关文章:
1. angular.js - 为什么给 Angular 指令绑定事件无法生效2. docker-machine添加一个已有的docker主机问题3. html5 - 使用angular中,图片上传功能中选择多张图片是怎么实现的?有什么好的思路吗?4. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?5. golang - 用IDE看docker源码时的小问题6. 为什么我ping不通我的docker容器呢???7. phpstudy 发现多个后门木马,有人遇到过吗?8. mysql 5个left关键 然后再用搜索条件 几千条数据就会卡,如何解决呢9. 请问一下,这是6.0的吗?为什么我下载的和老师讲的不一样呢?10. MySQL 查询疑问?
排行榜
