我在ASP.NET MVC视图中有以下内容:
<script>
angular.module('DiagsDashboard.services').constant('settings', @Html.Raw(Json.Encode(Model)));
</script>
之后我想从服务中获取价值:
var $injector = angular.injector();
var configSettings = $injector.get('settings');
然而,我收到错误: 未知提供者:settingsProvider
如何在不使用控制器的情况下进入这些设置? 我希望能够在控制台上进行测试。
答案 0 :(得分:1)
您没有正确定时进样器。
根据 the docs ,$injector()
应该通过:
模块函数列表或其别名。 [...]必须明确添加ng模块。
因此,为了让您的实例化注入器能够“了解”您应用的工件,您需要像这样实例化它:
var $injector = angular.injector(['ng', 'yourApp']);
var configSettings = $injector.get('settings');
答案 1 :(得分:-1)
如果你想在单元测试中测试常量,你可以做类似的事情:
// .. test setup ..
module('DiagsDashboard.services');
var configSettings;
inject(function(settings) {
configSettings = settings;
});
// .. whatever you want to test now ..