1

Попытка обновить RC4 => Угловая 2.1.0Angular2 как передать конфигурацию приложения из MVC?

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

Я получаю:

Исключение: Вызов к узлу модуля произошла ошибка: Ошибка типа: native.getAttribute не является функцией

Моя цель состоит в том, чтобы приложить applicationConfig от стороны MVC к угловому. Раньше мы работали над тем, чтобы установить глобальный объект и получить доступ к нему через окно ['objName'] на угловой стороне. Как передать мою конфигурацию в угловой теперь? Я попытался elementRef трюк, но похоже, что это не работает вообще в 2.1.0

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

Я использую элемент реф в моем компоненте - вытаскивающей себя за волосы AppComponent

ответ

0

Когда мои старты приложение NG2, мне нужно передайте несколько серверных переменных в приложение. Вот то, что моя точка зрения бритвы выглядит следующим образом:

@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;

Смежные вопросы