我有一個聲明變量的服務。在我的組件中,我使用此變量將數據放入其中。服務:@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 關注
- 720 瀏覽
添加回答
舉報
0/150
提交
取消