javascript - Angular2如何从MVC传递应用程序配置?

标签 javascript asp.net-mvc angular app-config angular2-services

尝试从 RC4 => Angular 2.1.0 升级

 var native = this.elementRef.nativeElement;
 var myattr = native.getAttribute("applicationConfig");

我得到:

异常:调用 Node 模块失败并出现错误:TypeError:native.getAttribute 不是函数

我的目标是将 applicationConfig 从 MVC 端转移到 Angular。 过去我们会设置一个全局对象并通过 Angular 侧的 window['objName'] 访问它。我现在如何将我的配置传递给 Angular?我尝试过 elementRef 技巧,但似乎它在 2.1.0 中根本不起作用

<app asp-prerender-module="ClientApp/boot-server"
         asp-prerender-webpack-config="webpack.config.js"
         applicationConfig="@ViewBag.appConfig">Loading...</app>

我在引导组件 - AppComponent 中使用元素引用

最佳答案

当我的 ng2 应用程序启动时,我需要将一些服务器端变量传递给应用程序。这是我的 Razor View 的样子:

@ModelType MyProject.Models.MasterViewModel
<!DOCTYPE html>

<html>

<head>
  <base href="/">
 
  <script type="text/javascript" src="~/assets/js/inline.bundle.min.js"></script>

</head>

<body>
  <app>Loading...</app>
  <script>
    var APP_SETTINGS = {
      apiUrl: "@Model.ApiUrl",
      ipAddress: "@Model.IpAddress",
      referredFrom: "@Model.ReferredFrom",
      browser: "@Model.Browser"
    }
  </script>
  <script type="text/javascript" src="~/assets/js/main.bundle.min.js"></script>
</body>

</html>

然后,当我想引用 APP_SETTINGS 时,我会执行以下操作(在我的 ng2 应用程序的上下文中):

export interface IAppSettings {
    apiUrl: string;
    ipAddress: string;
    referredFrom: string;
    browser: string;
}
declare const APP_SETTINGS: IAppSettings;

关于javascript - Angular2如何从MVC传递应用程序配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40113903/

相关文章:

javascript - 如何使用 OAuth 通过 Javascript 连接到 Paypal API?

c# - 从 Controller 调用服务是否违反了 MVC?

c# - 找不到类型 'projectname.Repositories.IRepository'。它可能需要装配资格,例如 "MyType, MyAssembly"

angular - 类型错误 : Cannot read property 'forEach' of undefined

javascript - 如何创建具有动态名称的 Angular 2 自定义属性指令?

javascript - Sequelize.js - 如何通过另一个模型中的两个键关联模型

javascript - 一旦用户点击该国家/地区的任何点,Google map 就会捕获该国家/地区

angular - 当类具有计算属性时字段初始值设定项的简写

javascript - 最小化 Canvas "bitmap"数据大小

c# - .net mvc 从 Controller 发送混合类型的 json