angular@Input用法

使用angular一周,组件传值和react不同,因此整理如下,以备后查!

@Input是angular提供给父元素传递信息的窗口,功能顾名思义——输入值。
具体用法如下:

  • 父组件
//parent.component.ts
import { Component, Input } from '@angular/core'

@Component({
    selector: 'parent',
    templateUrl: './parent.component.html'
})

export class ParentComponent {
    parentData: {
      data1:string =  '测试字符串1'
    }
}

//parent.component.html
    <div>
        <child [childData]="parentData"></child>
    </div

在父组件上定义了parentData对象,在HTML文件中,包含了子组件<child />。这里需要介绍angular属性绑定方法[属性名],在方括号中加入属性名比如srchref等,当然可以自定义,比如这里的childData。这个地方相当于将父组件要传递给子组件的对象parentData赋给子组件属性childData。这样子组件只要定义好@Input装饰器就能拿到parentData对象。

  • 子组件
//child.component.ts
import { Component, Input } from '@angular/core';

@Component({
  selector: 'child',
  templateUrl: './child.component.html'
})

export class ChildComponent {
  @Input() childData;
}

另外,Input 装饰器支持一个可选的参数,用来指定组件绑定属性的名称。如果没有指定,则默认使用 @Input 装饰器,装饰的属性名。比如:

  • 父组件
//parent.component.ts
import { Component, Input } from '@angular/core'

@Component({
    selector: 'parent',
    templateUrl: './parent.component.html'
})

export class ParentComponent {
    parentData: {
      data1:string =  '测试字符串1'
    }
}

//parent.component.html
    <div>
        //改了这里
        <child [jianshu]="parentData"></child>
    </div

  • 子组件
//child.component.ts
import { Component, Input } from '@angular/core';

@Component({
  selector: 'child',
  templateUrl: './child.component.html'
})

export class ChildComponent {
   //命了个名
  @Input('jianshu') childData;
}

the end!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 组件基础 组件用来包装特定的功能,应用程序的有序运行依赖于组件之间的协同工作。组件是angular应用的最小逻辑单...
    oWSQo阅读 1,413评论 0 0
  • 单向从数据源到视图 单向从视图到数据源 双向 DOM property 的值可以改变;HTML attribute...
    chrisghb阅读 971评论 1 1
  • 学习资料来自 Angular.cn 与 Angular.io。 模板语法 在线例子 在 Angular 中,组件扮...
    小镭Ra阅读 3,863评论 0 3
  • 装饰器的作用就是在添加装饰器的地方在不改动原有代码的情况下增加额外的功能。Angular框架中装饰器是一个函...
    tuacy阅读 2,522评论 0 2
  • 一.课程简介 (注意:这里的AngularJS指的是2.0以下的版本) AngularJS的优点: 模板功能强大丰...
    壹点微尘阅读 960评论 0 0