为了账号安全,请及时绑定邮箱和手机立即绑定

Angular-组件之间的共享服务不起作用

Angular-组件之间的共享服务不起作用

缥缈止盈 2019-12-06 12:38:43
我有一个声明变量的服务。在我的组件中,我使用此变量将数据放入其中。服务:@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答复的简短说明是,提供者是按层次结构工作的。如果将其添加到应用程序模块中,它将在整个应用程序中正常工作,因此不应在其他任何地方“提供”它。但是,如果不需要“全局”服务,则只需在父组件上提供即可。


查看完整回答
反对 回复 2019-12-06
  • 2 回答
  • 0 关注
  • 691 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信