从另一个组件类访问组件类变量
问题描述:
我有两个组件类A和B.从另一个组件类访问组件类变量
由于注入许多服务,A类有一个很大的构造函数。和在B类等
IonicPage()
@Component({
selector: 'page-chat',
templateUrl: 'chat.html',
providers: [ChatService]
})
export class ChatPage implements OnInit, OnDestroy{
msg:any[];
阵列这就好比是
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [ChatService]
})
export class HomePage {
chatRoot = ChatPage;
settingsRoot = SettingsPage;
constructor(private chatService: ChatService) {
}
onReset(){
//this.chatRoot.msg = [];
}
}
另一个分量i希望重置MSG为[]。在当前状态,我得到complan,我的味精是未知的,
答
在上面的例子中,因为ChatService被两个组件共享。 您可以在该服务中拥有msg变量,并从两个组件对其进行修改。 这种方式可以在两个组件中使用。
另一种方法是使用@Input()装饰器,如果有一个父组件同时包含A和B组件。
答
您不初始化ChatPage
或调用组件。你的例子中的chatRoot = ChatPage
变量只是类定义的副本,其中msg
从未初始化。
组件可以通过多种方式进行通信或共享信息。有关详细信息和示例,请参阅this page of the documentation。最常见的方法是:
- 保持公共信息访问通过服务
- 使用一个
@Input()
装饰组件之间的通信层次
你不会在其他组件的组件分配给变量,你可以在homePage中执行ViewChild和实例,或为msg创建模型 – alehn96