我有一个声明变量的服务。在我的组件中,我使用此变量将数据放入其中。服务:@Injectable()export class DataService { public msgs = []; constructor() { } }现在,我在组件中使用此变量:export class MessagesComponent implements OnInit { constructor(private dataService: DataService){} ngOnInit() { this.getData(); } getData(){ let msgs = []; if (diffr <= this.geomessage[i].range) { this.geomessage[i].dist = diffr; msgs.push(this.geomessage[i]); //console.log("this message: ", this.geomessage[i]); //DEBUG } this.dataService.msgs = msgs; } } 我只张贴了必要的代码this.dataService.msgs。当我到达另一个组件时,this.dataService.msgs的数据仍然存在,但是当我回到原来Messagescomponent的this.dataService.msgs位置,undefined直到我再次填充它,但我需要其中的数据。有人知道该怎么做吗?谢谢
2 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
关于echonax答复的简短说明是,提供者是按层次结构工作的。如果将其添加到应用程序模块中,它将在整个应用程序中正常工作,因此不应在其他任何地方“提供”它。但是,如果不需要“全局”服务,则只需在父组件上提供即可。
- 2 回答
- 0 关注
- 691 浏览
添加回答
举报
0/150
提交
取消