gpt4 book ai didi

javascript - 服务在初始化后获取对象为空

转载 作者:行者123 更新时间:2023-12-03 05:10:43 25 4
gpt4 key购买 nike

我有一个服务,它存储特定的对象以在不同的 Controller 之间共享它。在本例中,我有以下代码

    $rootScope.$on('controller.event', function(event, arg){
self.backendConnectorService.getBackendObject('99901').then(function(object){
if(object) {
self.myService.selectDeselectObject(object);
console.log(self.myService.getCurrentObject());
$state.go('myApp.mainArea.appsArea.objects.wizards');
}
});

当我拥有对象时,我会进入需要初始化对象的状态。问题是,当我加载该状态的 Controller 时,self.myService.getCurrentObject() 返回 null。当我执行上面代码中的console.log时,我得到了正确的对象。为什么是这样?我认为服务是单例的。

最佳答案

如果您尝试在状态之间保留数据,则需要考虑使用内置的 Angular 路由器或第 3 方 UI 路由器(非常流行,我更喜欢)。然后,您可以使用解析来解析注入(inject),或使用参数将数据从一个“状态”传递到另一个“状态”。

您将获得“对象”,然后移动状态 - 这会启动另一个 Controller ,从而丢失您的对象。看看 scotch.io 的 angular router页面,这非常有帮助。您最好在 state.config.js 中使用解析,然后将其注入(inject)到 Controller 中使用。

关于javascript - 服务在初始化后获取对象为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41830695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com