0

我的应用程序中有 2 个 ListView,当用户单击每个 listview 项目的项目时,页面应该导航到不同的视图。

就我而言,当我单击每个视图时,它会导航到相同的视图。似乎当用户点击视图的某个项目时,它会调用相同的控制器函数。这是我的代码,有人可以帮我解决这个问题吗?

Ext.define('MyApp.controller.MyCOntroller', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {  
            OneList: 'onel',    
            TwoList: 'twol'
        },

        control: {
            "list": {
                itemtap: 'onOnelTap'
            },
            "list": {
                itemtap: 'twolClicked'
            }
        }
    },

    onOnelTap: function(dataview, index, target, record, e, eOpts) {
        console.log("hhhhhh  "+e.event.target.nodeName);
   },

    courtRoomListClicked: function(dataview, index, target, record, e, eOpts) {
        console.log(" 2  -- >list");
    }

});
4

2 回答 2

2

看来你还没有正确地声明你的refscontrols

假设你OneList有一个名为 的 id one-list,那么 refs 和 controls 应该像这样声明:

config: {
    refs: {  
        OneList: 'one-list'
    },

    control: {
        "OneList": {
            itemtap: 'onOnelTap'
        }
    }
},

其余的都还好。希望这可以帮助。

于 2013-07-21T11:24:54.943 回答
1

如果我理解正确,你的control配置不好,你可能需要这样做

Ext.define('MyApp.controller.MyCOntroller', {
    extend: 'Ext.app.Controller',

    config: {
        refs: {  
            // I assume that 'onel' and 'twol' are xtype of respective views
            OneList: 'onel', 
            TwoList: 'twol'
        },

        control: {
            OneList: {
                itemtap: 'onOnelTap'
            },
            TwoList: {
                itemtap: 'onTwolTap'
            }
        }
    },

    onOnelTap: function(dataview, index, target, record, e, eOpts) {
        console.log("onOnel Tap ");
   },

    onTwolTap: function(dataview, index, target, record, e, eOpts) {
        console.log("onTwol Tap");
    }

});
于 2013-07-21T15:05:18.590 回答