铁路由器(流星):如何设置默认路由?

时间:2015-09-16 09:50:59

标签: meteor iron-router

我有4个观看次数(模板):

  • 启动
  • showScannedData
  • 仪表板
  • 装载

我在 client_server / lib / routing.js

中定义了路由
Router.configure({
    loadingTemplate: 'loading'
});


Router.route('/', {
    name:'start',
    template:'start'
});

Router.route('/mobile', {
    name:'mobileStart',
    template:'showScannedData'
});

Router.route('/desktop', {
    name:'desktopStart',
    template:'dashboard'
});

client / app.js 中,我放了:

Router.go('/start');

有效。但是,模板 showScannedData 会呈现两次,就像我将其设置为 templateLayout 一样。 至于我的应用程序我不需要默认布局,但单个人视图可以在开始(模板:开始)或用户执行的特定操作(模板:showScannedData / dashboard)上加载

我做错了什么?

1 个答案:

答案 0 :(得分:1)

感谢@piscator和@Keith给了我一个关键提示。

我发现,虽然我没有两次渲染模板,但是我把

{{>> showScannedData}}
project_name.html 文件中的

(即未使用路由时呈现的文件)。

所以我基本上删除了上面的行并使用Iron的路由器通过以下方式转到启动模板:

Router.go("/")
client / app.js 中的

,在 client_server / lib / routing.js 中定义为

Router.route('/', {
    name:'start',
    template:'start'
});

对应

<template name="start">
    <input id="goToMobileBtn" type="button" value="Go to mobile view"/><br><br>
    <input id="goToDesktopBtn" type="button" value="Go to desktop view"/>
</template>

提示:我发现自&#34; /&#34; route是 routing.js 中定义的第一个 Router.go 是可选的。