1

进入 Angular 并观看实际上适用于 Angular2 的过时教程(是的,我知道)。

角4:

@NgModule({
  imports: [ BrowserModule ],
  declarations: [ AppComponent , MyChildComponent ],
  bootstrap: [ AppComponent ]
})

似乎这就是您现在嵌套组件的方式,但没有办法在 Angular 2 中如何(或类似地)完成它?就像你可以直接在你的根组件中将它导入现在已弃用的“指令”属性中一样(发现这对于快速开发非常方便)。

角2:

@Component({
   selector: 'app-root',
   directives: [MyChildComponent]
   template: '<div><ChildComponent></ChildComponent></div>'
})
export class AppComponent {}

编辑:这是 MyChildComponent 声明(仍然是 Angular2 的一部分):

@Component({
   selector: 'ChildComponent',
   template: '<h2>Child component</h2>'
})
export class MyChildComponent {}

注意:省略了进口声明

4

1 回答 1

0

在某个时候(我忘记了很久以前每天都会出现不同的版本),他们转向了基于模块的设计,并且基本上directives一夜之间就消失了。

为了在任何地方使用您的组件,您只需要declarations: [...]在该模块中填充您的组件的模块中的部分。

之后,您根本不需要directives组件中的部分。

简而言之:

  • 模块部分中列出的任何组件declarations都将使这些组件可供该模块的所有其他组件使用。
  • 模块部分中列出的任何组件exports都将使这些组件可用于该模块的任何其他imports模块。
于 2018-01-10T07:41:13.510 回答