Angular 2:什么是@input和@output属性

时间:2016-01-20 00:57:02

标签: input output angular

在@component中,

@input和@output属性代表和使用的是什么?

什么是指令以及为什么我们必须放置如下结构的指令?

directives:[CORE_DIRECTIVES, FORM_DIRECTIVES]

如果有人能告诉我@input和指令之间的区别,那就太好了。

2 个答案:

答案 0 :(得分:10)

简而言之:

@Input用于组件标记的属性

@Output用于组件的事件

想一下HTML输入:

<input type="button" onclick="doSomething($event)" ></input>

输入的type属性告诉组件它将如何呈现和表现,作为按钮,作为文本输入等...如果您要使用类似属性,那么&# 39; d使用@Input注释,因为您要在组件中插入信息。

输入的onclick属性/事件在Angular 2中被视为@Ouput属性,因为它将信息作为$event对象发送给可能使用它的外部组件。

请参阅: https://angular.io/docs/ts/latest/guide/template-syntax.html#!#inputs-outputs

像Chibi提到你不再这样做:

directives:[CORE_DIRECTIVES, FORM_DIRECTIVES]

为了使用它们。

答案 1 :(得分:2)

您不再需要使用它们,这是Alpha版本上使用的旧模型。现在你只需要将它包含在import语句中就足够了。

查看使用beta编写的本教程,您将看到CORE_DIRECTIVES和FORM_DIRECTIVES不再使用。

Angular One Framework Tutorial

Angular 2 Developer Guide for Forms