2017-02-16 2 views
1

Ich benutze angular translate in einer Ionic App, und abhängig von der in der Dropdown-Liste ausgewählten Sprache müssen verschiedene Zustände geladen werden.Angular, wenn Bedingung nicht mit Zuständen arbeitet

Haupt Controller:

.controller('mainCtrl', function ($scope, $state, $translate) { 
    var ctrl = this; 
    ctrl.language = 'kn'; 
    ctrl.languages = ['kn', 'en']; 

    ctrl.updateLanguage = function() { 
    $translate.use(ctrl.language); 
    }; 

    $scope.lang = function() { 
    if (ctrl.language = 'kn') { 
     $state.go('knmenu', {}, { location: "replace", reload: true }); 
    } else($translate.use(ctrl.language)) { 
     $state.go('menu', {}, { location: "replace", reload: true }); 
    } 
    } 

main.html:

<div ng-controller="mainCtrl as ctrl"> 
    <button 
    class="button button-block button-balanced" 
    ng-click="lang()" 
    > 
    {{ 'TITLE' | translate }} 
    </button> 
    <select 
    ng-options="language | translate for language in ctrl.languages" 
    ng-model="ctrl.language" 
    ng-change="ctrl.updateLanguage()" 
    ></select> 
</div> 

Antwort

0

lösen In Ihrem if (ctrl.language = 'kn') Zustand überprüfen dies ist immer wahr, es if (ctrl.language == 'kn') sein sollte Ich denke, das ist das Problem. Hoffe, das wird helfen.

Verwandte Themen