javascript - 在使用 Marionette 渲染的两个模板之间进行选择

标签 javascript ruby-on-rails backbone.js coffeescript marionette

我在 Rails 应用程序上使用 Marionette (Backbone.js)。

我想要做的是加载另一个模板(如果匹配一个 id),这就是我所拥有的

join_room.html.slim文件

...
MyAppManager.start({
      tmpltRoute: templateRoute
});
...

menu_view.js.coffee

@MyAppManager.module "Layout", (Layout, MyAppManager, Backbone, Marionette, $, _) ->
  Layout.MenuView = Marionette.ItemView.extend
    initialize: (options)->
      @isPremium = options.isPremium
      @isStandard = options.isStandard
      @tmpltRoute = options.tmpltRoute
    template: JST[this.tmpltRoute]

最佳答案

您可以在 ItemView 上重写 getTemplate 来实现此目的(请参阅文档)

https://marionettejs.com/docs/v2.4.0/marionette.view.html#change-which-template-is-rendered-for-a-view

getTemplate: function(){
    if (this.model.get("foo")){
      return JST[foo];
    } else {
      return JST[bar];
    }
}

关于javascript - 在使用 Marionette 渲染的两个模板之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44100820/

相关文章:

javascript - 使用 JQuery 打开面板时移动焦点

javascript - 在 Firebase 实时数据库中,signOut() 是否会自动调用 ref.off() ?

ruby-on-rails - rails : PayPal Integration: "Load Configurations from specified file"?

javascript - 设置街景 POV 标题会引发错误

javascript - 从 IntelliJ 调试 Grails 应用程序的 JavaScript

javascript - 正确测试 backbone.js 中的路由器?

backbone.js - 我应该如何声明模型当前处于 "fetching"状态以及我应该如何创建要绑定(bind)到的 "on fetch complete"事件?

javascript - Backbone.js:从集合构建 JSON 数组

javascript - Ruby Base64编码的图片不显示

ruby-on-rails - Rails options_for_select/ActiveRecord_Associations_CollectionProxy