我正在尝试进行一些其他的配置注入,并找到了一些不错的文章来做到这一点,但是,我的示例无法正常工作。
首先,我的自定义模块
@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
{
}
在工厂功能中,我目前只有一个调试器。我想确保该代码被点击,但是什么也没有。
我不了解它是如何工作的吗?
我做了ng s --watch
,以便自动刷新更改。
更新
我没有正确将其注入我的服务中。谢谢大家。
答案 0 :(得分:0)
您尝试过吗?
let houRString = "13"
let minTString = "30"
let str = "\(houRString):\(minTString)"
let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "H:mm"
if let inDate = dateFormatter.date(from: str) {
dateFormatter.dateFormat = "hh:mm a"
let time = dateFormatter.string(from:inDate)
print("time in 12 hour is: \(time)") //"time in 12 hour is: 01:30 PM\n"
}