如何改变离子离子导航视图

时间:2017-01-18 17:55:15

标签: javascript angularjs ionic-framework

我正在使用Ionic框架编写移动应用程序,它有两种语言:英语和西班牙语,我希望能够切换导航视图(作为模板),以英语或西班牙语显示,具体取决于用户选择语言

我正在尝试在我的StateProvider定义上执行此操作,这是我的代码的一部分:

      (function(){
        'use strict';

          angular

         .module('app.core')
         .config(['$stateProvider', '$urlRouterProvider',
          function($stateProvider, $urlRouterProvider) {

            $stateProvider

        .state('login', {
                url: '/login',
                templateUrl: 'app/auth/login/login.html',
                controller: 'LoginCtrl',
            })
        .state('loginEs', {
          url: '/loginEs',
          templateUrl: 'app/auth/login/loginEs.html',
          controller: 'LoginCtrl',
        })
        .state('tabs', {
          url: '/tab',
            abstract: true,
            templateUrl: 'templates/tabs.html'
          })

        .state('tabsEs', {
          url: '/tabEs',
            abstract: true,
            templateUrl: 'templates/tabsEs.html'
          })

        .state('tabs.dashboard', {
                url: '/dashboard',
            views: {
              'tab-dash': {
                     templateUrl: 'app/dashboard.html',
                      //controller: 'SignupCtrl',
              }
            }
        })
        .state('tabsEs.dashboardEs', {
          url: '/dashboard',
            views: {
              'tabEs-dash': {
               templateUrl: 'app/dashboardEs.html',
                //controller: 'SignupCtrl',
              }
            }
        })
        .state('tabs.adults', {
              url: '/adults',
              views: {
                'tab-dash': {
                  templateUrl: 'templates/tab-adults.html',
                  //controller: 'DashCtrl'
                }
              }
            })
          .state('tabs.adultsEs', {
              url: '/adultsEs',
              views: {
                'tab-dash': {
                 templateUrl: 'templates/tab-adultsEs.html',
                  controller: 'customersCtrl'
                }
              }
            })
           .state('passwordResetForm', {
                url: '/passwordResetForm',
                templateUrl: 'app/auth/login/passwordResetForm.html',
                controller: 'PasswordResetCtrl',
            });


        $urlRouterProvider.otherwise('login');
}]);
})();

当状态为tabsEs.dashboardE时,它会从templates / tabsEs.html正确显示我的西班牙语导航栏。但是,当状态改变为tabs.adultsE时,我一直在努力做同样的事情,但是不起作用,总是显示模板/ tabs.html(英文)。 有人看到错误,或者给我一个提示吗?

此致 维克多

1 个答案:

答案 0 :(得分:1)

不要复制模板,使用像angular-translate这样的插件为您的应用添加国际化。探索文档,它非常简单。