国際化のために言語を選択するためのコンボを実装するために、silviomoreto select コンポーネントを使用しています。
コンポーネントを作成し、言語を選択できますが、うまく機能しません。
初めて言語をクリックすると、コントローラーが正しく呼び出され、言語が変更されます。しかし、次回は、ある種のずれがあります。つまり、同じ言語をクリックして別の言語を選択する必要があります。申し訳ありませんが、説明するのは簡単ではありません。例:
- ホーム ビュー (スペイン語のデフォルト言語) を読み込みます。
- selectpicker で英語を選択すると、コントローラーが完全に呼び出され、言語が変更されます。
- 私は再びスペイン語を選択します。次に、要素「スペイン語」は選択に設定されず、コントローラーも呼び出されません。何も起こりません。
- もう一度英語を選択すると、スペイン語がコンボに設定され、コントローラーが呼び出されて言語が変更されます。
私のビューコード:
<div ng-controller="LanguageCtrl" class="pull-right">
<select class="selectpicker show-menu-arrow selectpicker-medium" style="height: 20px" ng-change="changeLanguage(langKey)" ng-model="langKey" data-header="Choose your language...">
<option value="en">English</option>
<option value="es">Español</option>
</select>
</div>
私のコントローラー:
.controller('LanguageCtrl', function ($translate, $scope) {
$scope.changeLanguage = function (langKey) {
alert('LanguageCtrl requested with langKey:' + langKey);
$translate.uses(langKey);
};
});
私は何かを忘れていると確信しています。