我正在开发Angular Web应用程序的i18n部分,我想在配置阶段使用angular-translate。
我定义了一些我想翻译的数据:
.state('app.tracking', {
url: '/:IdentityIdentifier',
params:{
IdentityIdentifier: {squash: false, value: null}
},
templateUrl: 'views/pages/tracking.html',
data : { title: $filter('translate')('tracking.tracking.TITLE') },
resolve: load([], function(){ return loadGoogleMaps(); })
})
这是我的配置声明:
.config(
[ '$stateProvider', '$urlRouterProvider', '$locationProvider', 'MODULE_CONFIG', '$httpProvider', '$filter',
function ($stateProvider, $urlRouterProvider, $locationProvider, MODULE_CONFIG, $httpProvider, $filter) {
我得到的错误是经典 错误 : 错误:[$ injector:unpr]未知提供程序:$ filter
我知道我不能在配置阶段使用服务,只能在提供程序中使用,但是我的问题有解决方案吗?
编辑: 我的问题已经解决,方法是将键 ‘tracking.tracking.TITLE’ 分配给我的 data.title
变量,然后在我的标记中使用 translate 指令对其进行 翻译 。
是的,就像在EDIT中提到的那样:在标记中应用过滤器显然是最简单的解决方案。
除此之外,如果您真的想在配置阶段访问服务,请继续阅读:
在Angular <= 1.4中,这在技术上是不可能的。
从Angular v1.5(当前rc版本为1.5.0-rc.0)开始, 尽管我不建议这样做 , 但
似乎是可行的,因为config阶段应该是在服务之前进行配置的地方第一次重新使用。
这是使以下变为可能的更改(链接到github上的angular.js存储库)(仅允许装饰$injector
)。
现在,出现示例:http :
//codepen.io/NicBright/pen/PZJBPP?editors=101
JS部分:
(function() {
var result;
angular.module('myApp', [])
.config(function($injectorProvider) {
result = $injectorProvider.$get().get('myService').getSomething();
})
.factory('myService', function() {
return { getSomething: function() { return 'it works!'; }}
})
.controller("MainCtrl", function($scope) {
$scope.result = result;
})
})();
HTML部分:
<div ng-app="myApp" ng-controller="MainCtrl">
result: {{ result }}
</div>
本文向大家介绍25个 Git 进阶技巧(翻译),包括了25个 Git 进阶技巧(翻译)的使用技巧和注意事项,需要的朋友参考一下 我已经使用git差不多18个月了,觉得自己对它应该已经非常了解。然后来自GitHub的Scott Chacon过来给LVS做培训(LVS是一个赌博软件供应商和开发商,从2013年开始的合同),而我在第一天里就学到了很多。 作为一个对git感觉良好的人,我觉得分享从社区里掌
要想使用体验好,进阶配置少不了。(单押) 更换国内源 使用pkg update 更新一下的时候发现默认的官方源网速有点慢,在这个喧嚣浮躁的时代,我们难以静下心等待,这个时候就得更换成国内的Termux清华大学源了,加快软件包下载速度。 方法一:自动替换(推荐) 可以使用如下命令自动替换官方源为 TUNA 镜像源 pkg update 卡住的话多按几次回车 不要傻乎乎的等Bash sed -i 's
你有时可能想实现: 对语言应用自定义 loader string,而不是让 vue-loader 去推断; 覆盖默认语言的内置 loader 配置。 使用自定义 loader 预处理或后处理特定语言块。 为此,请指定 vue-loader 的 loaders 选项: 注意 preLoaders 和 postLoaders 只在 10.3.0+ 版本支持 module.exports = { /
我想用法语和英语翻译我的应用程序。我完全遵循了CakePHP3文档,但它不起作用。 在我的开发中,我使用了一个vagrant框来轻松启动并运行CakePHP3。这个盒子名叫“流浪厨师” 我修改了第100行,将法语作为默认语言。 我将此方法添加到默认页面控制器 我加了这两行 从终端,我输入这个命令。CakePHP在中创建了2个文件。那些文件是和。我翻译了默认值。像这样的文件: 文件现在如下所示: 尽
我目前正在学习Gradle。 但是我发现,当我在命令行运行时,复制不会发生。只有当显式执行任务时(即通过在命令行运行)才会发生复制。所以上面的代码实际上行为与 我对配置阶段和配置闭包的理解是否不正确?还是我漏掉了一些信息?