2013-07-25 1 views
0

Я хочу визуализировать view, который я создаю при нажатии кнопки на другом view.вызывать вид из контроллера в secha touch MVC pattern

Вот мой код контроллера, и я после MVC architecture

Ext.define('demo.controller.LoginController' , { 

    extend: 'Ext.app.Controller', 

    config: { 

     refs:{ 

       loginAction: 'button[action=login]' 

     }, 
     control:{ 

       loginAction: { 

        tap:'loginProcess' 
       } 
     } 


    }, 
    loginProcess:function(button,e,opts){ 


     // Render View here 


    } 


}); 

Я искал, и я наткнулся на getMainView().push() и Ext.ViewPoart.add(), но это не работает. Согласно шаблону MVC, как следует вызывать это представление с контроллера?

EDIT

код profilecontainer

Ext.define('demo.view.ProfileContainer',{ 


      extend:'Ext.Panel', 
      xtype:'profilecontainer', 

      requires: [ 
     'Ext.Label' 
    ], 

      config: { 

       items:[{ 
          xtype:'label', 
          html:'hi' 
       }] 

      } 


}); 

ответ

1

Оба способа вы пытались должны работать, если вы установите их правильно.

Во-первых, getMainView().push(newView) будет работать, если mainView является Ext.navigation.View. См. Документы для этого метода здесь: http://docs.sencha.com/touch/2.2.1/#!/api/Ext.navigation.View-method-push

Вы также можете использовать Ext.Viewport.setActiveItem(newView), если у вас нет опечаток (ваше сообщение говорит ViewPoart). (Ext.Viewport.add добавит панель в Viewport, но не установит ее как активную Карту в макете)

Если ни одна из этих функций не работает, вы, вероятно, неправильно настраиваете свой контроллер. Если это так, убедитесь, что вы вызываете метод loginProcess. Если это не так, то ваш селектор, button[action=login], не подходит.

+0

Я попробовал 'Ext.Viewport.add ({xtype: 'profilecontainer'});' где 'profilecontainer'is мой' View' и зарегистрирован в 'app.js', а его' xtype' определяется как 'profilecontainer', но все еще не в состоянии назвать это существующее представление, кстати, когда запускается событие кнопки входа в систему, я проверил его – Hunt

+0

Если это так, вам нужно опубликовать свой код для' profilecontainer'. Появляются ли какие-либо ошибки на консоли? – kevhender

+0

Нет ошибок, я хочу, чтобы загрузить полностью новый вид, который имеет список, см. Мое редактирование для 'profilecontainer' – Hunt