从sencha touch中的视图类调用控制器函数

时间:2013-07-26 07:02:55

标签: sencha-touch sencha-touch-2

如何在sencha touch中加载时从视图中调用控制器功能我试过如下,请帮帮我

这是我在视图课程中的听众

config: {
    listeners:{
        populateData:function(){
            populateDashBoardData();
        }
    },

这是我在控制器中的方法

   populateDashBoardData: function () {
     //some functionlaity

    },

2 个答案:

答案 0 :(得分:6)

触发自定义事件并在控制器中处理

我假设

查看(xtype:'dashBoard')

config: {
    // remaining of your configurations
    listeners:{
        initialize:function(){
            this.fireEvent('onPopulateDashBoardData', this);
        }
     }
},

控制器

config : {
    refs : {
        // as i assumed dashBoard is the xtype of the view
        DashBoard : 'dashBoard'
    },
    control : {
        DashBoard : {
            onPopulateDashBoardData : 'populateDashBoardData'
        }
    }
},

populateDashBoardData: function() {
    //some functionlaity 
}

答案 1 :(得分:0)

我一直在尝试使用fireevent()执行相同的任务但是因为我在Sencha上很新,所以我没有设法做到(我想在.class中添加一个事件监听器)。 我找到了另一种方法,我不知道是否有建议不要这样做,但它对我来说看起来很安全,这将是我的观点:

 
{      
    id: 'anime_svg',                 
    html:
        '' +
         ...
        ',
    listeners: {
    element: 'element',
    delegate: '.badge',
    tap: function(){
        appName.app.getController('controllerName').config.control.myMethod() 
    }
    ...
 

所以是的,非常基本的控制器方法访问,但有效并帮助我将逻辑从视图隔离到控制器,我很感激,如果有人认为这样做是一个坏主意告诉我让我知道为什么。 ..

谢谢!