Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.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
Asp.net mvc 增强时如何将值从MVC传递到Angular2(RC.5)_Asp.net Mvc_Angular - Fatal编程技术网

Asp.net mvc 增强时如何将值从MVC传递到Angular2(RC.5)

Asp.net mvc 增强时如何将值从MVC传递到Angular2(RC.5),asp.net-mvc,angular,Asp.net Mvc,Angular,我想在引导angular2应用程序时,将一些服务器生成的配置从MVC传递到angular2应用程序。配置是各种服务所必需的。在angular2的早期版本中,调用引导方法时可以将配置作为提供程序传入,但是在最新版本中,此方法已被弃用,取而代之的是platformBrowserDynamic.bootstrapModule。我注意到bootstrapModule方法有一个compilerOptions参数,该参数允许提供提供程序,但这些似乎没有过滤到组件/服务,我很难找到有关该主题的任何文档 Ind

我想在引导angular2应用程序时,将一些服务器生成的配置从MVC传递到angular2应用程序。配置是各种服务所必需的。在angular2的早期版本中,调用引导方法时可以将配置作为提供程序传入,但是在最新版本中,此方法已被弃用,取而代之的是platformBrowserDynamic.bootstrapModule。我注意到bootstrapModule方法有一个compilerOptions参数,该参数允许提供提供程序,但这些似乎没有过滤到组件/服务,我很难找到有关该主题的任何文档

Index.cshtml:

<script src="/lib/es6-shim/es6-shim.min.js"></script>
<script src="/lib/systemjs/dist/system.src.js"></script>
<script src="/lib/rxjs/bundles/Rx.min.js"></script>
<script src="/lib/zone.js/dist/zone.min.js"></script>
<script src="/lib/reflect-metadata/Reflect.js"></script>
<script src="/app/systemjs.config.js"></script>
<script type="text/javascript">
    var appConfig = {
        prop1: '@Model.Prop1',
        prop2: '@Model.Prop2',
        prop3: '@Model.Prop3'
    };
    System.import('/app/main')
        .then(main => main.bootstrap(appConfig), console.error.bind(console));
</script>
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
import { AppConfig } from './app-config';

export function bootstrap(appConfig: AppConfig) {
    var compilerOptions = { providers: [{ provide: AppConfig, useValue: appConfig }] };
    platformBrowserDynamic().bootstrapModule(AppModule, compilerOptions);
}

有人能解释一下,在最新的angular2版本中,如何传入这样的服务器生成的值吗?(rc.5)

我刚刚弄明白了,platformBrowserDynamic将提供者作为参数,这些提供者可以通过所有服务等进行访问

因此main.ts变成:

import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
import { AppConfig } from './config-types';

export function bootstrap(appConfig: AppConfig) {
    var providers = [{ provide: AppConfig, useValue: appConfig }];
    platformBrowserDynamic(providers).bootstrapModule(AppModule);
}
希望这对其他人有用