Angular 具有出厂功能的角度自定义模块不工作
我试图做一些额外的配置注入,并找到了一些好文章来做这件事,但是,我无法让我的例子工作 首先,我的自定义模块:Angular 具有出厂功能的角度自定义模块不工作,angular,typescript,Angular,Typescript,我试图做一些额外的配置注入,并找到了一些好文章来做这件事,但是,我无法让我的例子工作 首先,我的自定义模块: @NgModule() export class AppConfigModule { static forRoot(config?: FunkyConfig): ModuleWithProviders { return({ ngModule: AppConfigModule, providers: [ { pro
@NgModule()
export class AppConfigModule {
static forRoot(config?: FunkyConfig): ModuleWithProviders {
return({
ngModule: AppConfigModule,
providers: [
{
provide: FUNKY_CONFIG,
useValue: config
},
{
provide: FunkyConfigClass,
useFactory: appConfigFactory,
deps: [FUNKY_CONFIG],
multi: true
}
]
});
}
}
此代码的useFactory
部分永远不会触发
我的app.config如下所示:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpClientModule } from '@angular/common/http';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { RouterModule, Routes } from '@angular/router';
import { AppComponent } from 'app/app.component';
import { LayoutModule } from 'app/layout/layout.module';
import { TestModule } from 'app/main/test/test.module';
import { AppConfigModule } from './app-config.module';
const appRoutes: Routes = [
{
path : '**',
redirectTo: 'test'
}
];
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
RouterModule.forRoot(appRoutes),
AppConfigModule.forRoot(),
// App modules
LayoutModule,
TestModule
],
bootstrap: [
AppComponent
]
})
export class AppModule
{
}
在工厂函数中,我目前只有一个调试器;因为我想确保这段代码被命中,但什么都没有
我不明白这是怎么回事吗
我执行ngs——观察,以便自动刷新更改
更新
我没有在我的服务中正确地注入这个。谢谢大家。你试过这个吗
@NgModule()
export declare class AppConfigModule {
static forRoot(config?: FunkyConfig): ModuleWithProviders;
}
export declare class FunkConfig {
// your config
}
你试过这个吗
@NgModule()
export declare class AppConfigModule {
static forRoot(config?: FunkyConfig): ModuleWithProviders;
}
export declare class FunkConfig {
// your config
}
我认为工厂函数将不会被调用,除非您随后尝试注入FunkyConfigClass。工厂仅在注入到另一个服务或组件时才会被调用。我认为工厂函数将不会被调用,除非您随后尝试注入FunkyConfigClass。工厂仅在注入到另一个服务或组件时才会被调用另一个服务或组件如果引入任何逻辑,则在环境上下文中的操作会出现错误。如果引入任何逻辑,则在环境上下文中的操作会出现错误。