我在我的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]
答案 0 :(得分:1)
您可以覆盖getTemplate
上的ItemView
来实现此目标(请参阅文档)
getTemplate: function(){
if (this.model.get("foo")){
return JST[foo];
} else {
return JST[bar];
}
}
答案 1 :(得分:0)
Layout.MenuView = Marionette.ItemView.extend
template: JST["marionette/app/templates/layout-menu"]
getTemplate: ->
if this.isCase
return JST["marionette/app/templates/layout-menu-case"]
else
return JST["marionette/app/templates/layout-menu"]