【问题标题】:Iron Router 1.0 subscription issueIron Router 1.0 订阅问题
【发布时间】:2014-12-29 10:38:34
【问题描述】:

首先让我说我已经在他们的问题板上发了一个帖子here

自从升级到 1.0.0 后,我的所有订阅实际上并没有影响到我的出版物。

在我的路由器中,我有

# Projects home page
Router.route "/projects", (->
  waitOn: ->
    Meteor.subscribe("projects")
  action: ->
    @render
  @render "projectsHome"
),
  name: "projectsHome"

然后在我的服务器上我有

# Publish the Projects to the user
Meteor.publish 'projects', () ->
  console.log "Getting projects"
  Projects.find({})

我不知道我是否没有正确执行此操作,但我的服务器从未真正记录 Getting projects

现在,使用此代码加载页面后,我在浏览器控制台中运行Meteor.subscribe("projects"),我的所有数据都会显示出来,服务器会记录正确的行。

【问题讨论】:

    标签: meteor coffeescript iron-router


    【解决方案1】:

    你的 CS 语法看起来有问题,试试这个更简单的例子:

    Router.route '/projects',
      name: 'projectsHome'
      waitOn: ->
        Meteor.subscribe 'projects'
    

    以下是可能导致您的问题的各种问题:

    • 将Router.route的第二个参数用括号括起来是没有意义的,而且这个参数首先不应该是一个函数。
    • 在您的操作覆盖中调用渲染是没有用的:默认操作已经在渲染您的模板。
    • 注意你的 CS 缩进,@render "projectsHome" 行在这方面看起来很破。

    【讨论】:

    • 不幸的是,在尝试此操作时。我只是收到错误提示“pathFor 找不到名为“projectsHome”的路由。我的设置方式取自here
    • 请发布更多代码并说明pathFor采用命名参数的新语法。
    猜你喜欢
    • 1970-01-01
    • 2013-11-03
    • 1970-01-01
    • 2015-07-07
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    • 2014-02-01
    • 2015-09-21
    相关资源
    最近更新 更多