相关疑难解决方法(0)

在TypeScript中获取和设置

我正在尝试为属性创建get和set方法:

private _name: string;

Name() {
    get:
    {
        return this._name;
    }
    set:
    {
        this._name = ???;
    }
}
Run Code Online (Sandbox Code Playgroud)

设置值的关键字是什么?

typescript

568
推荐指数
7
解决办法
49万
查看次数

Angularjs2 - 应用程序启动前的预加载服务器配置

我正在使用Angular2 RC5.我希望能够在我的应用程序启动之前加载我的服务器IP地址和一些其他配置参数.我怎样才能在最新的RC5中做到这一点?

我看过其他文章,但它们没有帮助:

  1. 如何在angular2中预加载配置文件:这里提供的答案特定于webpack.我正在使用systemjs.
  2. https://medium.com/@hasan.hameed/reading-configuration-files-in-angular-2-9d18b7a6aa4#.m8lontnas:这是针对Angular2的旧版本.使用的某些类已弃用.

任何帮助将不胜感激.

编辑

我尝试在app.module.ts中使用APP_INITIALIZER,如下所示:

    import { NgModule, provide, APP_INITIALIZER }       from "@angular/core";
    import { ConfigService } from "./shared/services/config.service";
    @NgModule({
        declarations: [AppComponent],
        imports: [BrowserModule,
            routes,
            FormsModule,
            HttpModule],
        providers: [AuthService,
            Title,
            appRoutingProviders,
            ConfigService],
        bootstrap: [AppComponent
            , provide(APP_INITIALIZER,
                {
                    useFactory: (config: ConfigService) => () => config.load(),
                    deps: [ConfigService], multi: true
                })]
    })
    export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

这是我的config.service.ts文件:

    import { Config } from "../model/config";

    export class ConfigService {
        constructor() {
        }

        load(): Promise<Config> {
            let config: Config …
Run Code Online (Sandbox Code Playgroud)

angular

14
推荐指数
1
解决办法
1万
查看次数

multi:true表示angular4中的提供者

HTTP_INTERCEPTORS在angular4中使用.为此,我创建HttpServiceInterceptor了实现HttpInterceptor接口的类并为intercept方法提供了定义.然后注册提供商HTTP_INTERCEPTORS这样

providers: [{
    provide: HTTP_INTERCEPTORS,
    useClass: HttpServiceInterceptor,
    multi: true
}],
Run Code Online (Sandbox Code Playgroud)

这工作正常.但我仍然不明白multi:true这里的意思是什么?我读过这个答案.

如果我删除multi:true选项,则浏览器端出现错误

Uncaught Error: Provider parse errors:
Mixing multi and non multi provider is not possible for token InjectionToken_HTTP_INTERCEPTORS ("[ERROR ->]"): in NgModule AppModule in ./AppModule@-1:-1
    at NgModuleProviderAnalyzer.webpackJsonp.487.NgModuleProviderAnalyzer.parse (vendor.js:36335)
    at NgModuleCompiler.webpackJsonp.487.NgModuleCompiler.compile (vendor.js:43184)
    at JitCompiler.webpackJsonp.487.JitCompiler._compileModule (vendor.js:51527)
    at vendor.js:51472
    at Object.then (vendor.js:26354)
    at JitCompiler.webpackJsonp.487.JitCompiler._compileModuleAndComponents (vendor.js:51470)
    at JitCompiler.webpackJsonp.487.JitCompiler.compileModuleAsync (vendor.js:51399)
    at PlatformRef_.webpackJsonp.0.PlatformRef_._bootstrapModuleWithZone (vendor.js:4746)
    at PlatformRef_.webpackJsonp.0.PlatformRef_.bootstrapModule (vendor.js:4732)
    at Object.<anonymous> …
Run Code Online (Sandbox Code Playgroud)

angular-providers angular angular4-httpclient

8
推荐指数
1
解决办法
4316
查看次数