2015-09-20 70 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