我有2个不同的组件,也有不同的模块。 现在,我将数据保存在一个组件中,该保存的数据必须提取到另一组件中。 我如何获取组件之间的数据,请帮忙。
第一个组件:
saveSidebar() {
let params = { userGuID: this.uID, MenuIds: this.selectedMenuIds.toString() }
console.log(params);
this._Service.addUserMenu(params).subscribe((res) => {
if (res.Header.Success) {
}
})
}
此处保存的数据必须转到位于不同组件中的menu component
答案 0 :(得分:2)
您可以使用在两个组件中均已导入且共享数据的服务。因此,您可以从第一个组件更新服务,然后在另一个组件上创建一个事件侦听器,以侦听服务的更改并相应地更新ui / data。
答案 1 :(得分:0)
对于父子通讯,您可以使用@input()@output(); 对于其他用户,您可以使用服务,在父模块或根模块中注册服务,以了解更多信息,请访问下面的链接。 https://blog.nrwl.io/essential-angular-dependency-injection-a6b9dcca1761
答案 2 :(得分:0)
如果多个模块使用相同的变量数据,则最好在应用程序根目录级别创建服务,在项目中需要的地方修改和访问其变量,即服务示例代码
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class UserinfoService {
public userName : string = 'username'
}
要在整个项目中都可以访问该服务,必须在根级别上注入该服务。
答案 3 :(得分:0)
您可以使用主题或行为主题。一个组件的更改会自动通过主题反映到另一组件中。