我正在使用Angular 2(TypeScript)。为简单起见,有两个文件:A.ts
和B.ts
。
如何在B.ts类中使用AAA(在A.ts中)?谢谢!我花了一天多时间,但还没有成功......
A.ts
import {Component, View} from 'angular2/angular2';
@Component({
selector: 'foo'
})
@View({
template:`
`
})
export class Foo{
AAA:DataClass = new DataClass(); // AAA is here.
}
B.ts
import {Component, View} from 'angular2/angular2';
@Component({
selector: 'bar'
})
@View({
template:`
`
})
export class Bar{
constructor(){
// How can I use AAA here?
}
}
答案 0 :(得分:3)
这取决于您的组件之间的关系:
如果您在组件A
的视图中使用组件C
,则可以使用@ViewChild
属性修饰符来引用A
组件(只有在调用afterViewInit
生命周期挂钩后才能使用A
组件。)
如果您使用组件B
作为组件B
的内容,则可以使用@ContentChild
属性修饰符来引用{ {1}}组件(只有在调用afterContentInit
生命周期挂钩后才能使用B
组件。
看一下下一个例子(见this plunk):
B