博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
了解Angular2---App的生命周期
阅读量:6785 次
发布时间:2019-06-26

本文共 2238 字,大约阅读时间需要 7 分钟。

hot3.png

bootstrap

Angular2中,一个App需要用它的根组件进行引导

import {Component, bootstrap} from 'angular2/angular2';// Annotation section@Component({  selector: 'my-app',  template: '

Hello {
{ name }}

'})// Component controllerclass MyApp {  constructor() {    this.name = 'Max';  }}bootstrap(MyApp)

你可以把应用程序的代码和配置文件放到这个组件中,并且整个应用程序的组件链将会在它的模板文件中被创建

初始化组件

当一个组件被创建的时候,它的构造器就会生效.我们就是在这个构造器里面初始化组件的状态.但是如果要用到子组件当中的属性或者数据的话,就需要先等待一段时间.(等父组件依赖的子组件被创建之后才能初始化父组件).

这种情况下,我们可以使用setTimeout来解决这个问题.但是在这里,我们推荐你用生命周期事件onInit:

import {Component, bootstrap, onInit} from 'angular2/angular2';// Annotation section@Component({  selector: 'street-map',  template: '
',  lifecycle: [onInit]})// Component controllerclass StreetMap {  constructor() {    this.name = 'Max';    setTimeout(() => {      // Similar to onInit below, but not recommended.      // Could be useful in a pinch, though.    });  }  setMapWindow(mapWindow) {    this.mapWindow = mapWindow;  }  setMapControls(mapControls) {    this.mapControls = mapControls;  }  onInit() {    // Properties are resolved and things like    // this.mapWindow and this.mapControls    // had a chance to resolve from the    // two child components 
 and 
  }}

组件的生命周期

就像onInit,我们可以根据组件的生命周期追踪几个事件

import {..., onInit, onDestroy, onChange, onCheck, onAllChangesDone} from 'angular2/angular2';// Annotation section@Component({  selector: 'street-map',  template: '
',  lifecycle: [onInit, onDestroy, onChange, onCheck, onAllChangesDone]})// Component controllerclass StreetMap {  onInit() {    // Properties are resolved and things like    // this.mapWindow and this.mapControls    // had a chance to resolve from the    // two child components 
 and 
  }  onDestroy() {    // Speak now or forever hold your peace  }  onCheck() {    // Called right after our bindings have been checked  }  onChange(changes) {    // Called right after our bindings have been checked but only    // if one of our bindings has changed.    //    // changes is an object of the format:    // {    //   'prop': PropertyUpdate    // }  }  onAllChangesDone() {    // Called right after all of our bindings have been checked  }}

转载于:https://my.oschina.net/boogoogle/blog/538545

你可能感兴趣的文章
MySQL重要参数介绍
查看>>
现场直击VeeamON大会,“云中漫步”与“免费盛宴”
查看>>
两个队列实现一个栈
查看>>
我的友情链接
查看>>
httpclient log 输出太多隐藏
查看>>
光纤网卡和HBA卡有什么区别
查看>>
图说:Windows 8 如何更改开始屏幕主题
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
codevs——3344 迷宫
查看>>
我的友情链接
查看>>
洛谷——P1165 日志分析
查看>>
使用keepalived搭建高可用的LVS-DR集群
查看>>
实现内核 根文件系统自行启动
查看>>
win8从共享上传文件比下载文件慢
查看>>
linux批量解压压缩包
查看>>
windows server 2008 管理员密码忘记的怎么重新设置
查看>>
win7无法访问XP发过来的文件夹,提示“您无权访问该文件夹”解决方法
查看>>
Batch of create users
查看>>
[raspberry pi3] 安装aarch64 opensuse
查看>>