2

我正在使用 AngularStrap Select 和 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 ,但没​​有任何效果。

4

1 回答 1

0

data-placeholder我今天有同样的错误,当指令读取属性时翻译尚未加载。选项的翻译也会受到影响,除非我指定 data-html="1"。我目前的解决方法是这样的。

在控制器中:

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>
于 2014-12-19T10:33:13.190 回答