路线返回空白页[METEOR]

问题描述 投票:0回答:3

我正在尝试为用户个人资料页面创建一个路由,但是当我访问该路由时,它显示为一个完全空白的页面,并且在终端中没有错误。没有显示任何内容,包括静态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
3个回答
1
投票

你确定Users是现有的收藏品吗?

目前,我使用的是默认用户帐户包,并且未添加任何发布或订阅代码。

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

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

成:

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

虽然奇怪的是这不会在你的控制台中引发错误......


1
投票

不确定这是否是原因,但我认为对于路由有多个选项,您应该在动作参数中包含this.render。像这样的东西:

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

Source


0
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.