syncParams: function(toParams) {
var me = this
avalon.each(this.keys, function(index, item) {
var key = item.name
if(key in toParams) me.params[key] = toParams[key]
})
},
修改后
syncParams: function(toParams) {
var me = this
if (me.keys.length == 0) {
//TODO:路由传递对象,暂时的解决方法,2015年7月1日09:25:30 by amin
me.params = toParams;
//me.oldParams = toParams;
return;
}
avalon.each(toParams, function (key, item) {
if (item instanceof Object) {
me.params[key] = item;
}
});
avalon.each(this.keys, function(index, item) {
var key = item.name
if(key in toParams) me.params[key] = toParams[key]
})
}
当我们执行一条如下这样的路由时,想给
orderPreview
这个页面传递一个carts对象时,是传递不了的。avalon.router.go("orderPreview", { restId: restId, branchId: branchId, carts: carts }, { replace: true, confirmed: true });
我们可以修改
mmState.js
的第749行,原代码是修改后
不知道这种方式好不好使,不过暂时解决了我需要传递对象的问题。