秘银组件如何在这里工作是我的一些奇怪经历
How does Mithril component work here is some weird experience I had
我正在查看文档,我 运行 遵循 script.js
中的代码
var Article = {
view: function(vnode) {
console.log(vnode)
return "This is article " + vnode.attrs.articleid
}
}
m.route(document.body, '/article/:articleid' ,{
'/article/:articleid': Article
})
m.route.set('/article/:articleid', {articleid: 1})
但令我惊讶的是,我在控制台中获得了两次 vnode ds
Output
那是因为路由器在定义时立即执行(当您调用 m.route(…)
时),然后在您调用 m.route.set(…)
时再次执行。 m.route(…)
的第二个参数是将立即解析的路由,调用 m.route.set(…)
不是初始化路由所必需的——在这种情况下,您保留了路由参数插值字符串,但它应该按字面表达:
var Article = {
view: function(vnode) {
console.log(vnode)
return "This is article " + vnode.attrs.articleid
}
}
m.route(document.body, '/article/1' ,{
'/article/:articleid': Article
})
我正在查看文档,我 运行 遵循 script.js
中的代码 var Article = {
view: function(vnode) {
console.log(vnode)
return "This is article " + vnode.attrs.articleid
}
}
m.route(document.body, '/article/:articleid' ,{
'/article/:articleid': Article
})
m.route.set('/article/:articleid', {articleid: 1})
但令我惊讶的是,我在控制台中获得了两次 vnode ds
Output
那是因为路由器在定义时立即执行(当您调用 m.route(…)
时),然后在您调用 m.route.set(…)
时再次执行。 m.route(…)
的第二个参数是将立即解析的路由,调用 m.route.set(…)
不是初始化路由所必需的——在这种情况下,您保留了路由参数插值字符串,但它应该按字面表达:
var Article = {
view: function(vnode) {
console.log(vnode)
return "This is article " + vnode.attrs.articleid
}
}
m.route(document.body, '/article/1' ,{
'/article/:articleid': Article
})