2

Angular-translate で AngularStrap Select を使用して、選択したタイトルを翻訳しています。問題は、他の言語を選択すると、ページを更新したときにのみ選択タイトルが変更されず、ボタンを押して言語を変更しても変更されないことです。

以下に例を示します。

<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 に答える