路由配置:
// 路由
routes : {
'redirect/:view' : 'showView',
'redirect/:view/:param' : 'showView'
},
这里,view,和param都是路径的参数,而showView则是对应匹配上的路由的处理方法;
比如:
this.redirectTo('redirect/pagelistview/1');
将会匹配第二个路由执行showView方法并将对应的参数传进去,就相当于调用了showView(pagelistview,1);
接下来我们只需要在这个方法里面写我们的页面跳转逻辑就行了。
然而,路由也不是什么地方都适用。
在当前的Sencha Touch版本中。如果使用路由时参数过多且参数里面有中文将会是个非常恐怖的噩梦。
前段时间做项目生成一个页面需要传参数的个数达到40多个并且里面还有中文,先不说这些参数的顺序容易弄错,且需要处理中文,最大的瓶颈是浏览器的地址栏的字符个数是有限制的,就相当于我们做网页表单的get方式提交一样,40多个参数拼接成的url已经远远超过了其规定的最大限制。这时候我们就不方便用路由了。
而对于这类项目而言,只要某几个页面不能用路由那么整个项目都将不推荐使用路由,因为对应不使用路由的页面,在回退时将会被忽略跳过,这会造成逻辑错误。