2017-02-04 1 views
1

Я использую sencha cmd 6.2 для создания мобильного приложения, когда я загружаю регистрационную форму и нажимаю отправить ее, не создавая вид. вот мой код для входа в контроллерне удалось создать представление из Ext.create ({xtype: 'app-main'}) в современном инструменталитете

onLoginClick: function (button, event, options) { 
      var x = Ext.create("park.view.main.Main"); 
      console.log(x); 
      x.show(); 
} 

и мой взгляд Войти для кнопки обработчик

{ 
       xtype: 'button', 
       text: 'Login', 
       iconAlign: 'right', 
       iconCls: 'x-fa fa-angle-right', 
       ui: 'confirm', 
       handler: 'onLoginClick' 
} 

Main.js является JS по умолчанию, который создают из sencha generate app -ext.

+0

вы г etting любые сообщения об ошибках? – scebotari66

+0

Вызывается функция onLoginClick(), если да, то какое сообщение консоли печатается? – Tejas

ответ

0

Я не знаю, ясно, как современный инструментарий для Ext JS работы, но это похоже, если вы хотите, чтобы перейти к другой точке зрения, вы должны удалить предыдущий вид (недавние)

Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true); 

затем добавить новый вид в viewport как этот

Ext.Viewport.add(page); 

здесь полный код onLoginClick работать вокруг

onLoginClick: function (button, event, options) { 
    // This would be the ideal location to verify the user's credentials via 
    // a server-side lookup. We'll just move forward for the sake of this example. 


    clientId = Ext.getCmp('companyCode').getValue(); 
    username = Ext.getCmp('username').getValue(); 
    var password = Ext.getCmp("password").getValue(); 
    var user = new loginDTO(username, password, clientId); 
    Ext.Ajax.request({ 
     url: sessionStorage.getItem("base_url") + 'login', 
     method: 'POST', 
     headers: {'Content-Type': 'application/json', 'CLIENT-ID': clientId}, 
     params: Ext.JSON.encode(user), 
     success: function (conn, response, options, eOpts) { 
      var result = Ext.JSON.decode(conn.responseText); 
      console.log(result.code); 
      console.log(result.message); 
      if (result.code == "200") { 
       tokenDATA = Ext.JSON.decode(result.data); 
       sessionStorage.setItem("clientId", clientId); 
       sessionStorage.setItem("token", tokenDATA); 
       clientId = Ext.getCmp('companyCode').getValue(); 
       var x = Ext.create("park.view.main.Main"); 
       console.log(x); 
       Ext.getCmp("loginform").destroy(); 
       var page = Ext.getCmp("mainView"); 
       Ext.Viewport.remove(Ext.Viewport.getActiveItem(), true); 

       Ext.Viewport.add(page); 

      } else if (result.code == "401") { 
       Ext.Msg.alert("<p class='errorMessageHeader'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i> Login Unsuccessful</p>", "<p class='errorMessage'>" + result.message + "</p>" 
         ); 

      } 

     }, 
     failure: function (conn, response, options, eOpts) { 
      Ext.Msg.alert("<p class='errorMessageHeader'><i class='fa fa-exclamation-triangle' aria-hidden='true'></i> Login Unsuccessful</p>", "<p class='errorMessage'>Please try again with valid credential</p>" 
        ); 
     } 
    }); 
Смежные вопросы