我正在使用AngularStrap Select with angular-translate来翻译选择标题。问题是当我选择其他语言时,只有当我刷新页面时,选择标题才会改变,但是当我按下按钮来改变语言时,选择标题不会改变。
以下是一个例子:
<select bs-select ng-model="day">
<option value="0">{{'DAY' | translate}}</option>
<option ng-repeat="day in days" value="{{day}}">{{day}}</option>
</select>
我尝试使用$(element).selectpicker('refresh')和$ compile,但没有什么不起作用。
答案 0 :(得分:0)
我今天遇到同样的错误,当指令读取data-placeholder
属性时,翻译尚未加载。除非我指定data-html =&#34; 1&#34;否则选项的翻译也会受到影响。我目前的解决方法是这样的。
在控制器中:
function setTranslated() {
var removeListener = $rootScope.$on('$translateLoadingEnd', function () {
vm.translated = true;
removeListener();
removeListener = null;
});
}
在HTML中,请注意ng-if
:
<button type="button" class="btn btn-default" ng-model="vm.query.states"
ng-options="state.value as state.value|translate for state in vm.stateOptions"
data-placeholder="{{'SELECT_STATE'|translate}}"
data-multiple="1" bs-select ng-if="vm.translated"></button>