2016-09-11 98 views
0

我下面app.js值發送給其他頁面條件:如何離子

var app = angular.module('dbpjkApps', ['ionic']) 

app.controller('kategoriCtrl', function($scope) { 
    $scope.listKat = [ 
     {kat: 'math'}, {kat: 'physics'}, {kat: 'English'}, {kat: 'bahasa'}, 
    ]}) 
    .config(function($stateProvider, $urlRouterProvider) { 
     $stateProvider 

     .state('menu1', { 
      url: '/menu1', 
      templateUrl: 'xxx.html' //this is condition what i mean. 
     }) 

     .state('login1', { 
      url: '/login1', 
      templateUrl: 'login1.html' 
     }); 

     $urlRouterProvider.otherwise('/login1'); 
    }) 
}) 

在第1步用戶從select/comboboxlogin1.html選擇類別。

如何在用戶選擇數學或物理時寫入條件,然後相應地打開頁面menu1.htmlmenu2.html? 如何獲得用戶從login1.html上選擇的值menu1.htmlmenu2.html

謝謝:)

回答

0

可以使用NG-模型的組合框,這將給你選擇的值

,只是定義stateProvider

.state('menu1', { 
      url: '/menu1', 
      templateUrl: 'menu1.html' //this is condition what i mean. 
     }) 


.state('menu2', { 
      url: '/menu2', 
      templateUrl: 'menu2.html' //this is condition what i mean. 
     }) 

狀態之後,只是檢查登錄控制器中的組合框的ng模型值之後,只需添加以下行來重定向頁面

if(condition1){ 
     $state.go('menu1'); 
}else if(condition2){ 
     $state.go('menu2'); 
} 
0

首先準備你的配置

.config(function($stateProvider, $urlRouterProvider) { 
     $stateProvider 

     .state('menu1', { 
      url: '/menu1/:userChoice', 
      templateUrl: 'xxx.html' //this is condition what i mean. 
     }) 

     .state('menu1', { 
      url: '/menu2/:userChoice', //This is how to create params for the state 
      templateUrl: 'xxx2.html' //this is an other state. 
     }) 

     .state('login1', { 
      url: '/login1', 
      templateUrl: 'login1.html' 
     }); 

     $urlRouterProvider.otherwise('/login1'); 
    }) 

要檢查在哪裏在你的控制器去,你可以有:

app.controller('kategoriCtrl', function ($scope, $state) { 
    $scope.listKat = [ 
     { 
      kat: 'math' 
     }, { 
      kat: 'physics' 
     }, { 
      kat: 'English' 
     }, { 
      kat: 'bahasa' 
     }, 
    ] 

    //Having defined the ng-model in the select tag in your html tempalte. 

    $scope.choice = $scope.listKat[0]; 

    $scope.changeState = function() { 
     if ($scope.choice == "math") { 
      $state.go("menu1", { 
       userChoice: $scope.choice 
      }); 
     } else if ($scope.choice == "physics") { 
      $state.go("menu2", { 
       userChoice: $scope.choice 
      }); 
     } 

    } 
}) 
在math1Ctrl

然後採取PARAMS:

app.controller('math1Ctrl', function($stateParams) { 
    console.log($stateParams.userChoice); // math or physics 
}) 
+0

謝謝對於你的響應,但是,我使用對Login1.html是否正確? –

+0

你應該更好地移除ui-sref。如果您需要根據用戶選擇哪個值來定義要移動到哪個狀態,最好使用像'$ scope.changeState'這樣的函數。總結'' – Korte

+0

請您分享更多詳細信息..? :) –