如何强制Meteor重新加载订阅?

丰富

在我的应用程序中,sections是一个courses由称为的属性链接的集合course.sectionIds初始加载工作正常,但是在管理面板中添加部分时,我遇到了非反应式联接问题。

这是路线:

@route 'adminCourse',
    path: 'admin/course/:course'
    waitOn: -> Meteor.subscribe 'course', @params.course
    data: -> Course.first()

这些部分包含在课程出版物中:

Meteor.publish 'course', ( courseId ) ->
    return null if not this.userId

    # [some permission checks]

    courses = Course.find courseId
    sections = Section.find _id: $in: _.flatten courses.map ( course ) -> course.sectionIds

    [ courses, sections ]

我知道反应式联接,但是我不能真正使用方法1或方法4(在客户端过度发布和联接),因为其中涉及权限检查(您只能看到自己课程的各个部分)。另外,我知道数据何时更改,因此它实际上并不一定是被动的。

我只想让Meteor知道在用户提交用于添加新部分的表单时重新加载数据(我目前正在通过window.location.reload()添加部分后进行操作来解决此问题)。有没有办法用流星做到这一点?

丰富

事实证明,这确实很简单,现在我有点愚蠢了:)

您只需Meteor.subscribe()再次调用即可重新加载订阅我发现这是在搞乱其他解决方案时发现的,它使用铁路由器导航到其他URL,从而重新加载了订阅。

因此,在我的提交侦听器中window.reload(),您无需执行以下操作,就可以执行以下操作:

Template.sectionForm.events
    'submit form': ( e ) ->
        e.preventDefault()
        data = SimpleForm.processForm( event.target )

        section = Section.create( data )
        this.course.push( sectionIds: section._id )

        # Reload the subscription to pull in the new section
        params = Router.current().params
        Meteor.subscribe 'course', params.producer, params.course

并且它将提取新数据。好极了!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何强制重新加载页面

来自分类Dev

如何强制重新加载/刷新组件视图?

来自分类Dev

如何强制#vuetify #treeview节点重新加载?

来自分类Dev

如何强制OS重新加载fstab?

来自分类Dev

强制重新加载索引

来自分类Dev

如何从Angular中的订阅中重新加载信息?

来自分类Dev

部署后如何强制客户端重新加载?

来自分类Dev

如何从IPython Notebook内部强制自动重新加载库

来自分类Dev

如何强制Unity重新加载〜/ .local / share / applications /

来自分类Dev

Rails 4.2:如何强制重新加载模型定义?

来自分类Dev

如何强制重新加载NLog配置文件?

来自分类Dev

如何强制Rails重新加载application.js?

来自分类Dev

如何强制gradle刷新/重新加载(lib)目录包含的内容?

来自分类Dev

如何强制以编程方式重新加载Capacitor App

来自分类Dev

如何强制Unity重新加载〜/ .local / share / applications /

来自分类Dev

如何强制Thunderbird重新加载IMAP文件夹结构

来自分类Dev

如何强制Chrome重新加载代理配置文件?

来自分类Dev

如何强制Internet Explorer(IE)真正重新加载页面?

来自分类Dev

如何在启动时强制Vivaldi重新加载页面

来自分类Dev

如何强制基于视图的NSOutlineView重新加载项目的视图?

来自分类Dev

Rails 4.2:如何强制重新加载(引擎)路线?

来自分类Dev

Rails 4.2:如何强制重新加载模型定义?

来自分类Dev

Meteor.js中的Simple Clock或如何重新加载模板?

来自分类Dev

Slickgrid:强制重新加载网格

来自分类Dev

强制用户重新加载页面

来自分类Dev

如何强制加载器重新加载/重置或删除预加载qml页面的缓存

来自分类Dev

如何强制数据表重新呈现或重新加载静态数据?

来自分类Dev

重新加载Mathjax =再次强制排版

来自分类Dev

Python:强制每次导入重新加载

Related 相关文章

  1. 1

    如何强制重新加载页面

  2. 2

    如何强制重新加载/刷新组件视图?

  3. 3

    如何强制#vuetify #treeview节点重新加载?

  4. 4

    如何强制OS重新加载fstab?

  5. 5

    强制重新加载索引

  6. 6

    如何从Angular中的订阅中重新加载信息?

  7. 7

    部署后如何强制客户端重新加载?

  8. 8

    如何从IPython Notebook内部强制自动重新加载库

  9. 9

    如何强制Unity重新加载〜/ .local / share / applications /

  10. 10

    Rails 4.2:如何强制重新加载模型定义?

  11. 11

    如何强制重新加载NLog配置文件?

  12. 12

    如何强制Rails重新加载application.js?

  13. 13

    如何强制gradle刷新/重新加载(lib)目录包含的内容?

  14. 14

    如何强制以编程方式重新加载Capacitor App

  15. 15

    如何强制Unity重新加载〜/ .local / share / applications /

  16. 16

    如何强制Thunderbird重新加载IMAP文件夹结构

  17. 17

    如何强制Chrome重新加载代理配置文件?

  18. 18

    如何强制Internet Explorer(IE)真正重新加载页面?

  19. 19

    如何在启动时强制Vivaldi重新加载页面

  20. 20

    如何强制基于视图的NSOutlineView重新加载项目的视图?

  21. 21

    Rails 4.2:如何强制重新加载(引擎)路线?

  22. 22

    Rails 4.2:如何强制重新加载模型定义?

  23. 23

    Meteor.js中的Simple Clock或如何重新加载模板?

  24. 24

    Slickgrid:强制重新加载网格

  25. 25

    强制用户重新加载页面

  26. 26

    如何强制加载器重新加载/重置或删除预加载qml页面的缓存

  27. 27

    如何强制数据表重新呈现或重新加载静态数据?

  28. 28

    重新加载Mathjax =再次强制排版

  29. 29

    Python:强制每次导入重新加载

热门标签

归档