angular之Input和Output

Input

一个装饰器,用来把某个字段标记为输入属性,该输入属性会绑定到模板中的某个DOM属性。当变更检测的时候,angular会自动使用这个DOM属性的值来更新此数据属性。
1:格式

@Input(bindingPropertyName:string | undefined):any;

2:使用

//父组件
<test-child [title]="childTitle" child-id="1"></test-child>
//子组件
@Input() title='';
@Input('child-id') id='';

上述id就是起的child-id的别名,在子组件中就会使用id代替child-id。
同时我们还可以把Input和set/get结合起来使用,拿到title值之后做一些操作。

//子组件
@Input() set title(value:string){
  this.otherTitle =value;
}
Output

一个装饰器,用于把一个类字段标记为输出属性。借助EventEmitter来进行子组件往父组件传递内容。
在子组件中创建一个EventEmitter的实例作为输出属性,在父组件中通过事件绑定的方法监听,当子组件调用输出属性.emit(把吧啦吧啦)的时候,父组件就会接受到该消息。

//子组件
@Output() titleNm:EventEmitter<string> = new EventEmitter<string>();
ngOnInit() {
  this.titleNm.emit('吧啦吧啦');
}
//父组件
<app-test-child (titleNm)="titleNmValue($event)"></app-test-child>
titleNmValue(nm:string):void {
  console.log(nm);
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Angular元素就是打包成自定义元素的 Angular 组件。所谓自定义元素就是一套与具体框架无关的用于定义新 ...
    前端菜篮子阅读 5,330评论 0 1
  • 面试题一:https://github.com/jimuyouyou/node-interview-questio...
    R_X阅读 5,613评论 0 5
  • 一、安装最新版本的 nodejs 注意:请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 来验...
    liuguangsen阅读 6,605评论 0 1
  • 学习资料来自 Angular.cn 与 Angular.io。 模板语法 在线例子 在 Angular 中,组件扮...
    小镭Ra阅读 9,273评论 0 3
  • JSV5 1、vue 双向绑定的原理 通过object.defineProperty()方法来劫持属性的gette...
    merlinxu阅读 4,966评论 0 1

友情链接更多精彩内容