我正在尝试在selectize.js中为占位符添加翻译。
然而,在翻译方面似乎有不同的行为。
例如
<selectize config='selectizeConfig' placeholder='keyword' ng-click="clear()"
options="myOptions" ng-model="selected"></selectize>
当我尝试这样做时,
placeholder="{{'keyword'| translate }}"
它不起作用!虽然它适用于uib-tooltip和其他类似的东西。
<input type="text" placeholder="{{'keyword'| translate}}"/>
有什么想法吗?
答案 0 :(得分:1)
因此,当您使用angular-selectize时,您可以选择在config对象中设置占位符。首选而不是在DOM上使用占位符属性。所以您的配置对象可能如下所示:
$scope.myConfig = {
create: true,
onChange: function(value){
console.log('onChange', value)
},
placeholder : $scope.placeholder
}
其中$ scope.placeholder在控制器中定义如下:
$scope.placeholder = $filter('translate')('PLACEHOLDER');
此处'PLACEHOLDER'
是翻译ID。因此,您可以根据使用ngTranslate的翻译来选择占位符更改。
这取决于您的应用中实施的翻译,例如如果您的应用程序没有重新加载更改语言,那么您将不得不处理更多的事情,例如,在您需要再次定义该选择的配置对象时需要更改语言。你需要删除元素&amp;使用ng-DOM在DOM中重新创建它,如果这样,那个选择元素上的闪烁就会很少,但它会很好地执行。如果您的应用程序将在语言更改时重新加载,则不需要此逻辑实现。
<强> Working Plunker Example 强>