【问题标题】:Route returning blank page [METEOR]路线返回空白页 [METEOR]
【发布时间】:2015-06-07 19:13:49
【问题描述】:

我正在尝试为用户个人资料页面创建一个路由,但是当我访问该路由时,它显示为一个完全空白的页面,并且在终端中没有错误。没有显示任何内容,包括静态 HTML。代码如下:

routes.js

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

user.html

<template name="user">
    <p>hello</p>
</template>

目前,我正在使用默认用户帐户包,并且没有添加任何发布或订阅代码。

【问题讨论】:

    标签: meteor iron-router


    【解决方案1】:

    您确定Users 是现有集合吗?

    目前,我正在使用默认用户帐户包并拥有 未添加任何发布或订阅代码。

    在这种情况下,启用自动发布后,您的问题可能会通过更改来解决

    data: function(){
      return Users.findOne({_id: this.params._id})
    }
    

    进入:

    data: function(){
      return Meteor.users.findOne({_id: this.params._id})
    }
    

    虽然很奇怪,但这并不会在您的控制台中引发错误...

    【讨论】:

      【解决方案2】:

      不确定这是否是原因,但我认为对于路由的多个选项,您应该将 this.render 封装在一个操作参数中。像这样的:

      Router.route('/user/:_id', {
          name: 'user',
          data: function() {
              return Users.findOne({_id: this.params._id})
          },
          action: function () {
             this.render('user');
          }
      });
      

      Source

      【讨论】:

        【解决方案3】:

        我在终端中收到错误:“未定义用户”: http://meteorpad.com/pad/eciFidhwHmLhjWmF3/Leaderboard

        在您的数据函数中,尝试替换 Meteor.users.findOne({_id: this.params._id})

        如果您修复了我列出的 HackPad,Meteor.users 将无法工作,因为当前版本的 HackPad 不支持带有 Meteor.users 的足够晚的 Meteor 版本。但是,如果您注释掉您的数据函数,您至少应该会看到该页面。

        【讨论】:

          猜你喜欢
          • 2017-03-19
          • 1970-01-01
          • 2022-07-19
          • 2017-11-20
          • 2016-02-09
          • 1970-01-01
          • 1970-01-01
          • 2021-08-30
          • 1970-01-01
          相关资源
          最近更新 更多