我需要从服务或指令访问已解析的数据,以在整个应用程序中执行一些常规操作。
我似乎能够访问解析数据的唯一方法是将其注入控制器。
这是我设置的测试数据:
resolve: {
test: function() {
console.log("resolving");
return 5+2;
}
}
我在我的控制器中尝试过这个只是为了看看会发生什么,但它不起作用:
$injector.invoke(function(test) {
console.log("injected", test);
$scope.test = test;
});
I get:
"Error: [$injector:unpr] Unknown provider: testProvider <- test
因此,解析的数据似乎作为局部变量传递给状态控制器上的调用函数。
我还发现我可以从状态访问解析对象:
$state.current.resolve
但这是没有解析数据的原始解析对象。我可以调用这些函数来解析数据,但我会再次解决依赖关系。如果解析对象有任何请求,它们将被调用两次。
我只需要访问解析值,就像访问数据属性或 $state.params 一样。
我终于弄明白了。
可以通过 $state.$current 对象访问所有已解析的数据:
$state.$current.locals.globals
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)