【Angular2】组件交互异步问题
来源:互联网 发布:什么是淘宝关键词 编辑:程序博客网 时间:2024/06/06 16:47
问题
父组件通过服务调取后台接口获取数据
子组件@Input变量是父组件获取数据中的一个数据
由于子组件在渲染的时候,父组件的数据还没有获取到,所以会出现问题
方法1
使用setTimeout函数
setTimeout(() => { this.diff = this.examTimeLength * 60; }, 300);
这种方法实现了功能,但是不太可取,因为后台返回的数据可能会更慢,300ms内一旦没有返回,这条代码走过去程序就会一直报错
方法2
使用ngOnChanges监测变量的变化
ngOnChanges(changes: SimpleChanges) { if(changes['examTimeLength']&&this.examTimeLength) { // console.log("changes---"+changes['examTimeLength'].currentValue); this.diff = this.examTimeLength * 60; } }
如果监测到了输入变量的变化,同时里面是有值得话(会有两次变化,第一次没有值),可以进行自己的代码逻辑
小结
组件交互需要我们了解,组件的生命周期,异步问题,以及相关知识点
在Angular的这些规范下,实现自己想要的功能
参考资料:
https://segmentfault.com/a/1190000008759314
https://segmentfault.com/q/1010000008965321
阅读全文
0 0
- 【Angular2】组件交互异步问题
- 【Angular2】组件交互
- Angular2之组件交互和数据绑定
- Angular2组件与Echarts饼状图交互之饼图制作
- Angular2组件与Echarts饼状图交互之添加点击事件
- angular2向组件中传值的问题
- angular2 组件
- angular2 组件
- Redux和React组件的异步交互
- 使用angular2的http交互注意的问题
- angular2 倒计时组件
- Angular2 倒计时组件
- Angular2自定义分页组件
- Angular2核心组件@Component
- angular2之组件通讯
- 【Angular2】理解组件
- Angular2--组件生命周期
- angular2学习 之 组件
- 文件查找函数
- 【Java基础】——集合
- jdk动态代理源码解析
- Java 使用Axis实现WebService实例
- JAVA 桌面程序的外观风格+主题场景 (更新)
- 【Angular2】组件交互异步问题
- 数据结构与算法、Java多线程、Java集合(包括JUC)系统学习推荐博客
- Common(五)—— 消息系统(二):如何使用
- 基于Xmpp,Openfire和Asmack的聊天软件的开发(一)
- 结构体定义,初始化和赋值
- OpenGL中的glutInitDisplayMode()函数的理解
- Android基础——3:项目结构详解
- TensorFlow实现卷积神经网络CNN
- Fiddler 安装使用教程