sencha touch routing extraparams kitchensink

时间:2013-03-06 03:25:33

标签: extjs routes touch metadata

我正在尝试扩展Sencha Touch Kitchensink应用中的路由,如下所示:

我的数据(在列表商店中)如下:

{ category: 'fruit', str: 'tomato'},
{ category: 'fruit', str: 'green bean'},
{ category: 'vegetable', str: 'celery'},
{ category: 'vegetable', str: 'sprouts'},
{ category: 'notAVegetable', str: 'ketchup'},
{ category: 'notAVegetable', str: 'prune'}

我只想显示特定类别选择的数据,例如“fruit”

在Main.js控制器中,我试图通过从Demos TreeStore中的“List”节点获取另一个参数来实现此目的

routes: {
        'demo/:id/:category': 'showViewById',
        'menu/:id': 'showMenuById'
    },

showViewById操作添加额外参数以供以后使用

showViewById: function (id, category) {
    var nav = this.getNav(),
        view = nav.getStore().getNodeById(id);

    console.log('view ' + id);

this.showView(view);
    this.setCurrentDemo(view);
    this.hideSheets();

    // do stuff with category
},

我正在尝试在“List”树节点的Demos.js存储中添加和访问'category'作为extraParameter,如下所示:

{
    text: 'List',
    leaf: true,
    id: 'list',
    extraParams: {
        category: 'fruit'
    }
},

几个问题:我可以使用extraParameter将此属性添加到商店吗?如果是这样,我如何访问它以用于我的路由?我认为它可以作为我的Demos商店的元数据,但无法访问它。

除了创建多个商店(一个用于“水果”,“蔬菜”,“notAVegetable”等)以及过滤器以实现同样的事情之外,还有其他选择吗?

TIA!

0 个答案:

没有答案