您好,我使用 angular-translate 模块创建了基本的 angularJS 应用程序。在配置中,除了我的路由之外,我还有$translateProvider
负责翻译表和首选语言的配置。
所以这段代码:
$translateProvider.preferredLanguage('en');
在 Angularconfig()
函数中。
我知道 config 是先执行的,然后run()
是控制器和其他。我也知道在配置中必须只有提供者不能注入例如$rootScope
那里。
在我的项目中,通过调用单个端点,$http
我收集了有关用户进入此应用程序的国家/地区的信息。这发生在run()
.
我尝试使用$rootScope
(在此run()
):
$rootScope.homeCountry = response.data.country;
$rootScope.homeCountryLower = $rootScope.homeCountry.toLowerCase();
console.log($rootScope.homeCountryLower);
它在我的情况下控制台输出“pl”,但我最终了解到我无法传递$rootScope
给配置,因为它不是提供者。
我需要将此信息传递给$translateProvider
配置函数,以便能够根据用户国家/地区设置首选用户语言。
我怎样才能做到这一点?