2015-09-20 45 views
0

我为我的模块创建了一个名为Config的值。我想从ASP页面传递值(不要笑)。我传入的值需要在我的单页应用程序中使用的所有控制器中可用。我不知道如何解决来自html的Config值。从ng-Init更新应用程序值

App.js

'use strict'; 

angular.module('regApp', ['ngMessages', 'ui.router']); 

Config.js

'use strict'; 

angular.module('regApp') 
.value("Config", { 
    siteGuid: '', 
    apiUrl: '' 
}); 

的default.asp

<!DOCTYPE html> 

<html lang="en"> 
<head> 

    <!-- angular --> 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular.js"></script> 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.5/angular-messages.min.js"></script> 
    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.15/angular-ui-router.js"></script> 
</head> 

<body ng-app="regApp" ng-init="Config.siteGuid = '<%= MY_SITE_GUID %>'"> 
    <div ui-view></div> 

    <script type="text/javascript" src="scripts/app.js"></script> 
    <script type="text/javascript" src="scripts/controllers/CalendarController.js"></script> 
    <script type="text/javascript" src="scripts/values/Config.js"></script> 
</body> 
</html> 

回答

2

只需创建一个脚本标记变量声明在里面。该变量将可随时随地角应用程序,因为它会在window命名空间范围

<head> 
    <script> 
     var siteGuid = '<%= MY_SITE_GUID %>'; 
    </script> 
    <!-- other head scripts and stuff --> 
</head> 

然后在你的config.js

angular.module('regApp') 
.value("Config", { 
    siteGuid: window.siteGuid , 
    apiUrl: '' 
}); 
+0

我知道,它必须是东西容易。我的想法是使用ng-Init,因为我打算调用一个Init方法,并且检查了它的Angular文档。他们的文档说不这样做,它给了我想法加载我的配置数据。我很兴奋。然后我迷路了。谢谢你的帮助。 – fizch