【问题标题】:iron:router doesn't work after updating meteor铁:更新流星后路由器不起作用
【发布时间】:2016-05-07 09:35:31
【问题描述】:

我最近更新了我的流星项目,每当我尝试运行我的项目时,我都会得到这个:

Router.route('/', function () {
  this.render('Home', {
    data: function () { return Items.findOne({_id: this.params._id}); }
  });
});

这是我的路线,应该将用户引导到“主”模板

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

当我第一次添加 iron:router 包时,我曾经遇到过类似的问题,原因是我还没有实现它。我相信更新后我应该实现它的方式会有所不同。如有错误请指正

【问题讨论】:

  • 我认为如果您显示您收到的错误消息会有所帮助。
  • @BlazeSahlzen 没有错误,就像告诉我我没有实现路由器!
  • 您需要向我们提供更多信息。首先,你在哪里定义你的路线?
  • /lib 文件夹内的@DiogoMartins
  • @BehrouzRiahi 这里还不够。

标签: meteor iron-router


【解决方案1】:

您的路由器文件需要包含在客户端和服务器文件夹的上方或文件夹中。它就在那里,如果路由器不包含在客户端和服务器之上,那么流星就无法正确消化它的功能。

简短回答: 将 router.js 放在启动流星应用程序的任何位置。

(相对于.\client.\server

【讨论】:

    【解决方案2】:

    如何配置主模板:

    Router.configure({
        layoutTemplate:'yourMainTemplateName'  //main template should have {{> yield}} inside HTML which tells iron:router where to render templates per route
    });
    

    路线配置:

    Router.route('/', function () {
        this.render('homeTemplateName');
    });
    

    如果不起作用,请使用新代码更新您的问题。

    【讨论】:

      猜你喜欢
      • 2014-09-07
      • 2016-05-04
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      相关资源
      最近更新 更多