从 ng-Init 更新 App Value

Update App Value from ng-Init

我为名为 Config 的模块创建了一个值。我想从 ASP 页面传递值(别笑)。我传递的值需要在我的单页应用程序中使用的所有控制器中可用。我不确定如何处理 html 中的 Config 值。

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>

只需创建一个带有变量声明的脚本标签。该变量将在 angular 应用程序中的任何位置可用,因为它将在 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: ''
});