Backbone.js 主干线走同一条路线赢得';不要刷新页面

Backbone.js 主干线走同一条路线赢得';不要刷新页面,backbone.js,marionette,Backbone.js,Marionette,我有一个非常简单的标签,它将沿着当前路线运行,因为我需要刷新页面以清除一些消息 <span>Click <a href="/#resetPassword">here</a> to go get your password back</span> 单击返回密码 但这不起作用,因为我相信是主干路由检测到它是同一个路由,所以只返回 我发现它和我的相关,但有一点不同,我没有使用函数,只是使用标签 (CMD+R)工程 那么,有什么方法可以刷新标签中的相

我有一个非常简单的标签,它将沿着当前路线运行,因为我需要刷新页面以清除一些消息

<span>Click <a href="/#resetPassword">here</a> to go get your password back</span>
单击返回密码

但这不起作用,因为我相信是主干路由检测到它是同一个路由,所以只返回

我发现它和我的相关,但有一点不同,我没有使用函数,只是使用标签

(CMD+R)工程

那么,有什么方法可以刷新标签中的相同路由页面吗


谢谢

在我看来,我会这样做

在视图中

events: 
  "click span": "resetPage"

resetPage: ->
  @trigger "reset:page"
然后在控制器中

  @listenTo currentView, "reset:page", (args) ->
        model = args.model
        App.vent.trigger "reset:page", model
然后,在路由器中,您侦听该消息并再次调用API路由,本质上是刷新页面,但如果您有需要重新获取的内容,您可以将其与每条消息一起传递,避免出现
导航({trigger:true})
会导致:)的内存/无响应感觉

为了避免重新获取帖子,您可以在控制器的initialize函数中执行此操作:

@SampleApp.module "PostsApp.Show", (Show, App, Backbone, Marionette, $, _) ->

  class Show.Controller extends App.Controllers.Application

    initialize: (options) ->
      { post, id } = options
      post or= App.request "post:entity", id

      App.execute "when:fetched", post, =>
        @layout = @getLayoutView()

        @listenTo @layout, "show", =>
          @panelRegion post
          @postRegion post
          @bannerRegion post

        @show @layout
这将使你的应用程序响应速度非常快——请注意,这是假设你不需要重置模型/集合。如果您只需要重置模型/集合数据,那么
导航({trigger:true})
路径可能是最佳选择。除非您希望跟踪所添加的项目,并在事件中执行一些手动重置,然后重新渲染视图


我想您还可以在模型中实现一个
“resetModel”
函数,该函数将重新获取它并触发一个自定义事件,您的视图可以将其侦听为
modelEvents
,然后重新呈现自己。

捕获单击事件并使用backone和触发器选项导航?
@SampleApp.module "PostsApp.Show", (Show, App, Backbone, Marionette, $, _) ->

  class Show.Controller extends App.Controllers.Application

    initialize: (options) ->
      { post, id } = options
      post or= App.request "post:entity", id

      App.execute "when:fetched", post, =>
        @layout = @getLayoutView()

        @listenTo @layout, "show", =>
          @panelRegion post
          @postRegion post
          @bannerRegion post

        @show @layout