Routes 我可以从外部向Mithril route发送json数据吗

Routes 我可以从外部向Mithril route发送json数据吗,routes,mithril.js,Routes,Mithril.js,例如,我有下一个mitril路线 m.route.prefix(“#”); m、 路由(document.getElementById('main'),“/”{ "/": { render:function(){ 返回m('h1','Hello from root'); } }, “/trackingController/:编号”:{ 渲染:函数(数据){ var data=JSON.parse(“数据”); //然后处理解析的数据 返回m('h1','Hello from trackingC

例如,我有下一个mitril路线

m.route.prefix(“#”);
m、 路由(document.getElementById('main'),“/”{
"/": {
render:function(){
返回m('h1','Hello from root');
}
},
“/trackingController/:编号”:{
渲染:函数(数据){
var data=JSON.parse(“数据”);
//然后处理解析的数据
返回m('h1','Hello from trackingController')
}

}
是的,路由可以插入参数。在您的示例中,您有一个
:numbers
参数,您的代码表明您需要一个JSON字符串

Mithril公开通过实体传递的数据的方式是通过的
attrs
属性

在本例中,我使用
encodeURIComponent
允许在URL中引入JSON。我已使呈现函数记录从URI路径接收到的解析数据,并公开当前路由,以及一个文本框,您可以在其中编辑JSON结构并提交重新路由,然后查看新结果

m.route.prefix(“#”);
m、 路由(document.getElementById('main'),“/trackingController/”+encodeURIComponent('[1,2]'){
“/trackingController/:编号”:{
呈现:函数(vnode){
console.log(
'收到了以下'number':',
parse(vnode.attrs.numbers)
)
返回[
m('h1','Hello from trackingController'),
m('p','当前路线为',
m('code',m.route.get())
),
m(‘形式’{
提交人:函数(e){
e、 预防默认值()
m、 route.set(
“/trackingController/”+
encodeURIComponent(如target.elements.input.value)
)
}
},
m(‘文本区域#输入’{
值:vnode.attrs.numbers,
风格:{
背景:“#444”,
颜色:“#eee”,
显示:“块”,
填充:“1em”,
},
}),
m('button','Go!')
),
]
}
}
})

谢谢,您的回答非常有帮助。