使用 FlowRouter
與 Iron Router 相比, FlowRouter 更加模組化。
安裝 FlowRouter
meteor add kadira:flow-router
渲染模板
特別是,你必須手動新增布局渲染包以與渲染引擎連結:
- Blaze 的 Blaze 佈局 :
meteor add kadira:blaze-layout
- React 的反應佈局 :
meteor add kadira:react-layout
然後你可以通過動態模板渲染(在 Blaze 的情況下):
<template name="mainLayout">
{{> Template.dynamic template=area}}
</template>
FlowRouter.route('/blog/:postId', {
action: function (params) {
BlazeLayout.render("mainLayout", {
area: "blog"
});
}
});
使用引數和/或查詢呈現模板
引數在路由上指定,與 Iron Router 一樣:
FlowRouter.route("/blog/:catId/:postId", {
name: "blogPostRoute",
action: function (params) {
//...
}
})
但是引數不作為資料上下文傳遞給子模板。相反,子模板必須讀取它們:
// url: /blog/travel/france?showcomments=yes
var catId = FlowRouter.getParam("catId"); // returns "travel"
var postId = FlowRouter.getParam("postId"); // returns "france"
var color = FlowRouter.getQueryParam("showcomments"); // returns "yes"