Meteor 使用Iron router中的router.go()传送数据
我正在努力将数据从一个模板传递到另一个模板,考虑到这一点,我想知道这是否是我的问题。我正在使用内置的帐户系统,我已经添加了新用户和身份验证,当用户登录时,我将他们转发到一个新模板。我希望能够在模板中使用他们的详细信息,但我正在努力找出最好的方法来做到这一点 起初我认为我可以简单地使用:Meteor 使用Iron router中的router.go()传送数据,meteor,iron-router,accounts,Meteor,Iron Router,Accounts,我正在努力将数据从一个模板传递到另一个模板,考虑到这一点,我想知道这是否是我的问题。我正在使用内置的帐户系统,我已经添加了新用户和身份验证,当用户登录时,我将他们转发到一个新模板。我希望能够在模板中使用他们的详细信息,但我正在努力找出最好的方法来做到这一点 起初我认为我可以简单地使用:Router.go('userPage',{user:username})没有错误但不起作用。在我的模板中,我使用:欢迎{{{user} 使用{{>user}会抛出找不到模板、帮助程序或数据上下文键:usernam
Router.go('userPage',{user:username})代码>没有错误但不起作用。在我的模板中,我使用:欢迎{{{user}
使用{{>user}
会抛出找不到模板、帮助程序或数据上下文键:username'
错误
有什么想法吗
编辑:忽略其余部分,在重新启动Meteor服务器后,现在可以工作了
我想我这里有一个更大的问题,所以添加更多细节:
从表单中获取一些信息,然后根据结果发送:
Meteor.loginWithPassword(username, password, function(err) {
if (err) {
console.log('Logging in failed');
} else {
console.log('Logging in succeeded');
console.log(username);
Router.go('userPage');
}
});
然后,我希望打开此模板并传递刚刚登录的用户的数据:
<template name="userPage">
<div class="container">
<h1>Welcome {{username}}</h1>
</div>
<p>User Page</p>
</template>
欢迎{{username}
用户页
如果我使用Welcome{{currentUser.username}
我不会得到错误,也不会得到名字Meteor.user().username
确实返回了一个名称,但我无法将其输入模板。未定义“username”,您应该使用Meteor.user().username
或者更好的是,您应该使用currentUser
预定义的帮助程序,其中包含当前登录的用户,您可以在页面之间传递该用户
<p>Welcome {{currentUser.username}}</p>
欢迎{{currentUser.username}
在模板之间传递数据的通常方法是通过在路由url中传输文档id,然后使用Iron路由器检索文档,然后使用文档进行处理
有时将currentSomething存储在全局帮助器中会更容易,使用一个反应会话变量跟踪“something _id”,但这可能会导致相当草率的代码,请注意 嗯,还是不行。使用:Welcome{{currentUser.username}
不会给我任何错误,也不会传递任何数据。如果我登录Meteor.user().username,我会得到一个字符串。我想我还有一个更大的问题:)我会为我的问题补充更多细节。