Angular 角度2输入装饰器为什么需要?
我研究Angular 2。我面临的任务是将数据传输到父组件的组件。在官方文档中使用@input。没有,但我不理解Angular 2的开发人员为什么需要它?为什么没有@input就不会进行传输。为什么要添加@input?在解释文档中,对于me要定义组件的输入,请使用@input decorator 例如,组件需要一个用户参数来呈现有关该用户的信息:Angular 角度2输入装饰器为什么需要?,angular,Angular,我研究Angular 2。我面临的任务是将数据传输到父组件的组件。在官方文档中使用@input。没有,但我不理解Angular 2的开发人员为什么需要它?为什么没有@input就不会进行传输。为什么要添加@input?在解释文档中,对于me要定义组件的输入,请使用@input decorator 例如,组件需要一个用户参数来呈现有关该用户的信息: <user-profile [user]="currentUser"></user-profile> 因此,您需要向用户
<user-profile [user]="currentUser"></user-profile>
因此,您需要向用户添加@Input绑定:
import { Component, Input } from '@angular/core';
@Component({
selector: 'user-profile',
template: '<div>{{user.name}}</div>'
})
export class UserProfile {
@Input() user;
constructor() {}
}
从'@angular/core'导入{Component,Input};
@组成部分({
选择器:“用户配置文件”,
模板:“{user.name}”
})
导出类用户配置文件{
@输入()用户;
构造函数(){}
}
组件模板中的绑定,如[inputProp]=“someValue”
仅允许@Input()inputProp代码>或具有匹配名称的HTML元素的本机属性
我只是在猜测,但我想到了两种解释
- 更高效的代码或代码生成
如果属性需要显式,这将允许更高效的代码
- 更好地支持工具
这允许工具检查代码中的错误,在编写模板时提供自动完成功能,可能还有更多功能
看看这里: