zoukankan      html  css  js  c++  java
  • Angular 组件通讯、生命周期钩子 小结

    本文为原创,转载请注明出处: cnzt       文章:cnzt-p

    http://www.cnblogs.com/zt-blog/p/7986858.html

    http://www.cnblogs.com/zt-blog/p/7986858.html

    组件接受参数:

    1. 路由查询参数(ActivatedRoute:参数镜像、参数订阅两种方式)

    2. Input传参(单向)

    钩子: ngOnChange

    组件间通讯:

    1. Input传参(单向) 父 --> 子

    2. Output传参(单向) 子 --> 父

    3. 中间人(父组件/服务作为他的子组件们的中间人) 兄弟 <--> 兄弟

       一般是用服务来做中间人的,而不常用父组件!

    4. 模板引用变量(也称模板本地变量)  -- 父组件调用自组建

      父模板中调用子组件的属性、方法: #name

      父组件中调用子组件的属性、方法: @ViewChild()

      钩子: ngAfterViewInit   ngAfterViewChecked

    5. 内容投影: 子组件中通过ng-content指令投影父组件的内容,父组件可以向投影的内容绑定自己的属性。

      注: 被投影的片段不能使用子组件的属性,只能使用父组件的属性!

    钩子: 下面是按执行顺序

    Constructor

    ngOnChanges  @Input

    ngOnInit

    ngDoCheck 变更检测

    ngAfterContentInit    相关:子组件中通过ng-content指令投影父组件的内容。

    ngAfterContentChecked

      ------ 子组件的上面六个钩子执行,直到没有自组件了 -----

    ngAfterViewInit

    ngAfterViewChecked

    ngOnDestroy   跳转到新路由时,旧路由对应的组件被销毁。

    其他:

    ng-content 和 [innnerHTML] 都能绑定html内容,区别是:

    1. ng-content是平台无关的,[innnerHTML] 只能用于浏览器平台

    2. ng-content可以绑定多个内容片段,[innnerHTML] 只能绑定一个。

    3. ng-content只能使用父组件的属性,[innnerHTML] 只能使用子组件的属性。

  • 相关阅读:
    四种常见系统架构介绍
    NC-UAP客户化开发-数据建模
    NC-UAP客户化开发-4.NC数据库持久化技术
    NC-UAP客户化开发-NC基础技术
    NC-UAP客户化开发-开发环境搭建
    Docker: 使用socket 代理
    Disk:磁盘管理之LVM和系统磁盘扩容
    Grafana & Graphite & Collectd:监控系统
    ELK:收集k8s容器日志最佳实践
    Virus:病毒查杀
  • 原文地址:https://www.cnblogs.com/zt-blog/p/7986858.html
Copyright © 2011-2022 走看看