当前位置: 首页 > news >正文

免费搭建手机网站源码公司网站建设组织架构

免费搭建手机网站源码,公司网站建设组织架构,惠州网站建设找哪个公司,企业网站事例在进入主题之前,先了解一下angular的生命周期。 生命周期 钩子分类 指令与组件共有的钩子 ngOnChangesngOnInitngDoCheckngOnDestroy 组件特有的钩子 ngAfterContentInitngAfterContentCheckedngAfterViewInitngAfterViewChecked 生命周期钩子的作用及调用顺序 …

在进入主题之前,先了解一下angular的生命周期。

生命周期

钩子分类

  • 指令与组件共有的钩子

    • ngOnChanges
    • ngOnInit
    • ngDoCheck
    • ngOnDestroy
  • 组件特有的钩子

    • ngAfterContentInit
    • ngAfterContentChecked
    • ngAfterViewInit
    • ngAfterViewChecked

生命周期钩子的作用及调用顺序

  1. ngOnChanges - 当数据绑定输入属性的值发生变化时调用
  2. ngOnInit - 在第一次 ngOnChanges 后调用
  3. ngDoCheck - 自定义的方法,用于检测和处理值的改变
  4. ngAfterContentInit - 在组件内容初始化之后调用
  5. ngAfterContentChecked - 组件每次检查内容时调用
  6. ngAfterViewInit - 组件相应的视图初始化之后调用
  7. ngAfterViewChecked - 组件每次检查视图时调用
  8. ngOnDestroy - 指令销毁前调用

首次加载顺序


export class LifecircleComponent {constructor() {console.log('00构造函数执行了---除了使用简单的值对局部变量进行初始化之外,什么都不应该做')}ngOnChanges() {console.log('01ngOnChages执行了---当被绑定的输入属性的值发生变化时调用(父子组件传值的时候会触发)'); }ngOnInit() {console.log('02ngOnInit执行了--- 请求数据一般放在这个里面');}ngDoCheck() {console.log('03ngDoCheck执行了---检测,并在发生 Angular 无法或不愿意自己检测的变化时作出反应');}ngAfterContentInit() {console.log('04ngAfterContentInit执行了---当把内容投影进组件之后调用');}ngAfterContentChecked() {console.log('05ngAfterContentChecked执行了---每次完成被投影组件内容的变更检测之后调用');}ngAfterViewInit() : void {console.log('06 ngAfterViewInit执行了----初始化完组件视图及其子视图之后调用(dom操作放在这个里面)');}ngAfterViewChecked() {console.log('07ngAfterViewChecked执行了----每次做完组件视图和子视图的变更检测之后调用');}ngOnDestroy() {console.log('08ngOnDestroy执行了····');}//自定义方法changeMsg() {this.msg = "数据改变了";}
}

 

 

 参照:https://www.cnblogs.com/Aerfajj/p/10748887.html

我们的要求是子组件监听父组件传入的值,而ngOnChanges的作用是当数据绑定输入属性的值发生变化时调用,正是我们所需要的。废话不多说,直接上代码:

父组件

<child-demo [tabValue]="tabValue"></child-demo>

 

 子组件ts(与SimpleChange配合使用)

import {Component, EventEmitter, Input, OnInit, OnChanges, SimpleChange, Output} from '@angular/core';@Component({selector: 'app-child-demo',templateUrl: './child-demo.component.html',styleUrls: ['./child-demo.component.scss']})export class ChildDemoComponent implements OnInit {@Input() tabValue;@Output() gotoList: EventEmitter<{ goto: boolean, group: string}> = new EventEmitter<{goto: false, group: ''}>();constructor(private childDemoService: ChildDemoService) {}ngOnInit() {   }ngOnChanges(changes: SimpleChange){if (changes['tabValue']) {//具体业务代码}}}
//changes['tabValue']有三个属性,currentValue-当前值  previousValue-改变之前的值 
// firstChange-是否是第一次改变(previousValue为undefined时true,否则为false)

 

 总结:

1.ngOnChanges只对@Input传入的属性发生变化时会调用。

2.当@Input属性是一个对象,当对象的属性值发生变化并不会触发,当对象的引用发生变化时才会触发,所以想要监听对象的变化,不可以直接修改对象的属性,而是要给整个对象重新赋值。

http://www.yayakq.cn/news/530739/

相关文章:

  • 南陵网站建设厦门网站制作策划
  • 3网合一网站网站php源码
  • 企业网站建设预算表滁州seo优化
  • 网销的网站建设与管理注册网站邮箱发送的验证网页无法打开
  • 深圳高端企业网站建设公司wordpress 自己写首页
  • 西宁做网站的公司100个免费推广网站下载
  • 哈尔滨企业制作网站网络培训学院
  • 湘潭市建设网站微网站开发+在线商城
  • 建设局网站招聘ps个人网页设计教程
  • 网站怎么做才能被百度收录做招商网站的前景怎么样
  • 银川住房和城乡建设局网站数据分析网站
  • 一家专门做特卖的网站是什么wordpress 首页视频
  • 做南美生意做什么网站好wordpress 4.7 模板
  • 一条龙搭建网站网站 div
  • 同字形结构布局网站企业级网站开发平台
  • 网站建设访问人群wordpress go 跳转
  • 河南住房和城乡建设部网站首页成都广告公司贺忠阳简历
  • 廊坊网站建设推广经验抖音广告代运营
  • 安康公司网站制作东莞松山湖风景区
  • 免费建微网站平台kaalus.wordpress
  • 网站建设项目概况网站建设参考文献作者
  • 个人站长网站应该如何定位网站如何做淘客
  • 湖南省网站备案时间国内企业手机网站建设
  • php做电商网站有那几个模块东莞手机端网络推广
  • 电影院订票网站开发门户网站开发
  • 安徽php网站建设专业的网页设计和网站建设公司
  • 周口市住房和城市建设局网站手游传奇代理一个版本多少钱
  • 做我的狗漫画网站松花江避暑城建设网站
  • 网站设计及内容策划wordpress申请网站
  • 合肥市城乡建设局网站怎么做网站frontpage