也许我遗漏了一些东西,但与 ng-translate 一样好,我不明白他们为什么选择使用子作用域而不是继承父作用域。
给定以下设置示例:-
var app = angular.module('plunker', ['pascalprecht.translate']);
app.config(['$translateProvider',
function($translateProvider) {
$translateProvider.preferredLanguage('en');
$translateProvider.translations('en', {
'HELLO': 'Hello {{name}}, how are you?'
});
}
]);
app.run(['$translate',
function($translate) {
$translate.use('en');
}
]);
app.controller('MainCtrl', function($scope) {
$scope.name = 'Angular';
});
ng-translate 强制使用以下 html,使用“translate-values”来指定范围插值:-
<body ng-controller="MainCtrl">
<p translate translate-values="{name: name}">HELLO</p>
</body>
但我真正想说的是“翻译”并让父范围正确插入名称,例如:-
<body ng-controller="MainCtrl">
<p translate>HELLO</p>
</body>
但这不起作用。
我知道这看起来很琐碎,但是无论如何告诉 ng-translate 使用父范围并避免使用“翻译值”而不是创建子范围(或者这甚至是问题吗??)