否则我必须在每次路由转换到子组件时重复包含页眉和页脚,对吗?我错过了什么吗?
我不认为你缺少任何东西。秘银的魔法越少越好,所以很难错过。然而,它仍然比具有魔法的框架更方便。
我只是将我的视图包装在一个模板函数中。我是一个懒惰的人,但即使我也不介意这样做,因为它灵活且不会令人困惑。
http://codepen.io/farzher/pen/vOjjEB
function viewTemplate(content) {
return function() {return [
m('#header', [
'my site',
m('a', {config:m.route, href:'/'}, 'home'),
m('a', {config:m.route, href:'/1'}, 'page 1'),
m('a', {config:m.route, href:'/2'}, 'page 2'),
]),
m('hr'),
m("#view", content),
m('#footer', 'copyright my site'),
]}
}
component1 = {
view: viewTemplate([
m('h1', 'component 1 page')
])
}
component2 = {
view: viewTemplate([
m('h1', 'component 2 page')
])
}
m.route(document.body, '/', {
'/': {view: viewTemplate()},
'/1': component1,
'/2': component2,
})