Angular 2中的组件是什么

shr*_*eep 6 asp.net-mvc typescript angular

我是Angular的新手,对Angular JS 1.x一代的经验很少.不过我的问题是关于Angular 2.我在Components 这里阅读和https://angular.io/docs/ts/latest/guide/architecture.html

我正在使用TypeScript,我的问题是:可以说Component是一个类(非@component注释)类似于Model(在Asp.Net MVC中),因为我们可以将html控件与组件类中定义的字段绑定或者它更像是控制器吗?或者还有更多我遗失的东西?

第二个网址中有一个声明,其中说:

我们在一个类中定义一个Component的应用程序逻辑 - 它支持视图的作用

上面的语句增加了我的困惑,因为我们可以在一个绑定了html的类中做很多事情.在文本更改时,我们可以远程检查某些内容或按钮单击,我们可以调用方法,所有这些都可以在组件类中定义.那么组件的限制到底是什么?我们可以像模特或类似控制器一样对待它们吗?

请帮我澄清一下

Thi*_*ier 3

事实上,组件类对应于您的组件实现。我的意思是你自己的处理:

因此,组件类可以被视为 Angular1 控制器和作用域的混合体。

装饰@Component器将成为 Angular2 的组成部分。我的意思是涉及框架和应用程序的不同功能和机制。

它将可以使用不同的东西来配置组件,引用一些:

  • 一个选择器
  • 一个模板
  • 输入和输出(也可以使用@Input和配置@Ouput
  • 特定提供商
  • 在组件中使用的指令/组件
  • 组件中使用的管道

此外,您可以将类装饰器(@Component装饰器属于这种类型)视为一种拦截器:

  • 它将使得组件构造函数的参数的依赖注入成为可能。
  • 它将使组件实例成为利用 ZoneJS 的变更检测的一部分。Mark 对此给出了精彩的解释:What is the Angular2 equal to an AngularJS $watch?
  • 它将根据使用 Reflect-Metadata 配置的内容在组件实例上添加元数据。

因此,@Component装饰器对于配置组件并使其成为 Angular2 机制的一部分非常重要。

大家注意:我试图简单地描述这一点,这符合我对事物的理解,但请随意评论我的答案;-)