我有这个基本路线,我的模板没有收到我设置的数据。
App =
subs:
posts: Meteor.subscribe "posts"
users: Meteor.subscribe "users"
Router.configure
wait: [App.subs.posts, App.subs.users]
loadingTemplate: 'loading'
Router.map ->
@route 'post_show',
path: '/p/:slug'
before: ->
if App.subs.post
App.subs.post.stop()
App.subs.post = Meteor.subscribe "post", @params.slug
waitOn: ->
App.subs.post
after: ->
if @getData().post
document.title = @getData().post?.title
data: ->
p = Posts.findOne
$or: [{
slug: @params.slug
}, {
_id: @params.slug
}]
date = new Date p.timestamp
date_added = "{0}-{1}-{2}".format date.getFullYear(), date.getMonth()+1, date.getDate()
data =
post: p
date_added: date_added
data
template: 'post_show'
服务器代码:
Meteor.publish "posts", ->
return Posts.find()
Meteor.publish "post", (id_or_slug) ->
return Posts.find({
$or: [{
slug: id_or_slug
}, {
_id: id_or_slug
}]
})
Meteor.publish "userData", ->
return Meteor.users.find {},
fields:
profile: 1
当我刷新页面时,方法p
内的变量data
未定义。任何想法为什么?