Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
能否使用Angular app.component将应用程序设置写入本地存储?_Angular - Fatal编程技术网

能否使用Angular app.component将应用程序设置写入本地存储?

能否使用Angular app.component将应用程序设置写入本地存储?,angular,Angular,我是否可以使用应用程序组件将设置写入本地存储,然后从其他组件访问设置 await docRef.get().then(doc => { localStorage.setItem("appAdmin", JSON.stringify(doc.data().appAdministrator)); localStorage.setItem("authorizeDomain", JSON.stringify(doc.data().authorizedDomain)); local

我是否可以使用应用程序组件将设置写入本地存储,然后从其他组件访问设置

await docRef.get().then(doc => {
   localStorage.setItem("appAdmin", JSON.stringify(doc.data().appAdministrator));
   localStorage.setItem("authorizeDomain", JSON.stringify(doc.data().authorizedDomain));
   localStorage.setItem("contactAdmin", JSON.stringify(doc.data().contactAdministrator));
   localStorage.setItem("contactGroup", JSON.stringify(doc.data().appContactGroup));
});

在使用任何组件之前设置对象,而不考虑应用程序的入口点,可以考虑使用<代码> Appy初始化器< /C> > 应用程序初始化器:在初始化应用程序之前调用回调。全部的 注册初始值设定人可以选择返回承诺。全部的 返回承诺的初始值设定项函数必须在 应用程序已启动。如果其中一个初始值设定人未能 解析时,应用程序未启动


REF:

< P>在使用任何组件之前设置对象,不考虑应用程序的入口点,可以考虑使用<代码> Appy初始化器< /C> > 应用程序初始化器:在初始化应用程序之前调用回调。全部的 注册初始值设定人可以选择返回承诺。全部的 返回承诺的初始值设定项函数必须在 应用程序已启动。如果其中一个初始值设定人未能 解析时,应用程序未启动


参考:

解决问题的正确方法是向工厂提供
APP\u初始值设定项
令牌

例如:

@NgModule({
    providers: [
        {
            provide: APP_INITIALIZER,
            useFactory: appInitializerFactory,
            deps: [/* Your dependencies */],
            multi: true,
        },
    ],
})
export class AppModule {}

export function appInitializerFactory(/* The injection of your dependencies, in the same order as above */) {
    return () =>
        new Promise<any>((resolve: any) => {
            // Do your async work, call `resolve()` when done.
        });
}
@NgModule({
供应商:[
{
提供:应用程序初始化器,
useFactory:appInitializerFactory,
deps:[/*您的依赖项*/],
多:是的,
},
],
})
导出类AppModule{}
导出函数appInitializerFactory(/*依赖项的注入,顺序与上面相同*/){
return()=>

新承诺或。

解决问题的正确方法是向工厂提供
APP\u初始值设定项

例如:

@NgModule({
    providers: [
        {
            provide: APP_INITIALIZER,
            useFactory: appInitializerFactory,
            deps: [/* Your dependencies */],
            multi: true,
        },
    ],
})
export class AppModule {}

export function appInitializerFactory(/* The injection of your dependencies, in the same order as above */) {
    return () =>
        new Promise<any>((resolve: any) => {
            // Do your async work, call `resolve()` when done.
        });
}
@NgModule({
供应商:[
{
提供:应用程序初始化器,
useFactory:appInitializerFactory,
deps:[/*您的依赖项*/],
多:是的,
},
],
})
导出类AppModule{}
导出函数appInitializerFactory(/*依赖项的注入,顺序与上面相同*/){
return()=>

新承诺或。

重要吗?反正你正在调用async方法。@ABOS我不确定。我是Angular的新手。我想可能只是因为组件中的代码是异步的,这并不意味着一个组件会等待另一个组件。Angular应用程序的初始值设定项可能就是你想要的。在线上有很多教程,请查看。这有关系吗?你是吗无论如何,我们仍在调用async方法。@ABOS我不确定。我是Angular的新手。我想可能只是因为组件中的代码是异步的,这并不意味着一个组件会等待另一个组件。Angular应用程序初始化器可能就是您想要的。大量在线教程,请查看。谢谢。这正是我一直试图找到的答案nd.我的三门关于Angular的课程都没有解释这一点。我成功地实现了你的答案。谢谢。谢谢。这正是我一直试图找到的答案。我的三门关于Angular的课程都没有解释这一点。我成功地实现了你的答案。谢谢。我同意。但是,我选择@tiagodws答案是因为我用了一个例子。我喜欢例子:)@Gregherner你选择了更好的答案,毫无疑问。我只是想知道为什么投反对票。好吧;)我同意。但是,我选择@tiagodws答案是因为他用了一个例子。我喜欢例子:)@Gregherner你选择了更好的答案,毫无疑问。我只是想知道为什么投反对票。一切都好;)