Asp.net mvc 如何在Angular中获取常量服务实例

Asp.net mvc 如何在Angular中获取常量服务实例,asp.net-mvc,angularjs,Asp.net Mvc,Angularjs,我在ASP.NET MVC视图中有以下内容: <script> angular.module('DiagsDashboard.services').constant('settings', @Html.Raw(Json.Encode(Model))); </script> 但是,我得到了一个错误: 未知提供程序:设置提供程序 我如何在不使用控制器的情况下获得这些设置? 我也希望能够在控制台上进行测试。如果希望在单元测试中测试常量,可以执行类似以下操作: // .

我在ASP.NET MVC视图中有以下内容:

<script>
    angular.module('DiagsDashboard.services').constant('settings', @Html.Raw(Json.Encode(Model)));
</script>
但是,我得到了一个错误: 未知提供程序:设置提供程序

我如何在不使用控制器的情况下获得这些设置?
我也希望能够在控制台上进行测试。

如果希望在单元测试中测试常量,可以执行类似以下操作:

// .. test setup ..
module('DiagsDashboard.services');
var configSettings;
inject(function(settings) {
    configSettings = settings;
});
// .. whatever you want to test now ..

您没有正确实例化喷油器。 根据要求,应通过以下步骤:

模块函数或其别名的列表。[…]必须显式添加ng模块

因此,为了让实例化的注入器了解应用程序的工件,您需要如下实例化:

var $injector = angular.injector(['ng', 'yourApp']);
var configSettings = $injector.get('settings');

谁说你不能从$injector获得常量/值?太好了。我本来可以创建一个控制器,但它只是从服务器中提取一些设置,并在一些javascript中使用它。
var $injector = angular.injector(['ng', 'yourApp']);
var configSettings = $injector.get('settings');