0

我正在使用 silviomoreto 选择组件来实现一个组合来选择国际化语言。

我创建了组件,我可以选择一种语言,但是,它不能正常工作。

当我第一次单击一种语言时,控制器会被正确调用并更改语言。但是,对于下一次,有某种错位,我的意思是,我必须点击相同的语言来选择另一种。对不起,这并不容易解释。一个例子:

  1. 我加载主页视图(西班牙语默认语言)。
  2. 我在selectpicker中选择了英语,控制器被完美调用并改变了语言。
  3. 我再次选择西班牙语。然后,在选择中没有设置元素“西班牙”,也没有调用控制器。什么都没发生。
  4. 我再次选择英语,然后在组合中设置西班牙语,调用控制器并更改语言。

我的查看代码:

<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);
        };
    });

我确定我忘记了什么。

4

0 回答 0