gpt4 book ai didi

sencha-touch-2 - Sencha Touch 2 过滤器前的多条路线

转载 作者:行者123 更新时间:2023-12-02 03:36:05 25 4
gpt4 key购买 nike

你知道 Sencha Touch 是否有可能为路由实现多个前置过滤器吗?

在下面的代码中,对于 home 路线,我需要添加一个以上的过滤器。

这可以做到吗?

Ext.define("TestApp.controller.Router", {

extend: "Ext.app.Controller",

config: {
before: {
home: 'authenticate, filter2, filter3',
products: 'authenticate',
product: 'authenticate',
testingtwo: 'authenticate'
},

routes: {
'': 'home',
'home' : 'home',
'login' : 'login',
'products' : 'products',
'products/:id': 'product',
'testingtwo' : 'testingtwo'
}
},

最佳答案

您应该将之前的过滤器放在一个数组中。

试试这个:

config: {
before: {
home: ['authenticate', 'filter2', 'filter3'],
products: 'authenticate',
product: 'authenticate',
testingtwo: 'authenticate'
}
}

这是 Ext.app.Controller 中的相关代码段来源:

/**
* @private
* Massages the before filters into an array of function references for each controller action
*/
applyBefore: function(before) {
var filters, name, length, i;

for (name in before) {
filters = Ext.Array.from(before[name]);
length = filters.length;

for (i = 0; i < length; i++) {
filters[i] = this[filters[i]];
}

before[name] = filters;
}

return before;
},

关于sencha-touch-2 - Sencha Touch 2 过滤器前的多条路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23364139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com