有人可以帮我弄清楚如何解决这个问题吗?
以下是该方案:
假设有三种类型的用户,即学生,教师和父,我希望使用useraccounts
包保存在我的馆藏中
问题
在我的AccountsTemplates.addField({})
中,我想以注册表单为学生显示 3个字段,为教师显示 4个字段>以及在type: hidden
属性的帮助下,父级的5个字段取决于用户从以下三个选项中选择的位置。
我是谁?
父
<a href="/new-account/parent">Parent</a>
学生
教师的
尝试解决方案
FlowRouter
参数,并使用上述选项中用户提供的值,但建议将AccountTemplate
放在/lib
中,这样就可以了由客户端和服务器访问,但问题是FlowRouter.getParam()
在服务器端无效。使用pub/sub
,account-config.js
我写了这个
if(Meteor.isServer){
Meteor.publish('getParam', function(param){
console.log(param)
})}else if(Meteor.isClient){
console.log(FlowRouter.getParam('user-type')
}
并且在
routes.js
FlowRouter.route('/new-account/:user-type', {
action(){
Meteor.subscribe('getParam', FlowRouter.getParam('user-type');
// because here .getParam can be accessed.
}
}
它在服务器端运行良好且反应灵敏,但在client
侧,undefined
感谢。
此致