首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Backbone.Marionette中使用Handlebars.js

在Backbone.Marionette中使用Handlebars.js
EN

Stack Overflow用户
提问于 2013-03-29 21:08:33
回答 4查看 13.6K关注 0票数 16

有没有可能在不重新实现视图呈现功能的情况下使用带有Backbone.Marionette扩展的Handlebars.js?似乎Marionette依赖于使用带有下划线模板引擎的Backbone.js的约定。但是我真的很喜欢handlebar的方法,所以我想问我是否可以使用带有handlebar的木偶的高级工具。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-03 03:13:40

在Marionette中使用Handlebar的一种简单方法是在每个视图中将template定义为预编译的Handlebar模板函数。例如:

代码语言:javascript
复制
var MyView = Backbone.Marionette.ItemView.extend({
    template: Handlebars.compile("Hello, {{name}}"),
    model: new Backbone.Model({name: "Steve"})
});

Marionette的默认Renderer将检测到template属性是一个函数,并相应地调用它。

另请参阅有关此案例的官方文档:https://github.com/marionettejs/backbone.marionette/wiki/Using-handlebars-templates-with-marionette

和另一个预编译的Q/A:Using precompiled handlebars templates with Marionette

票数 24
EN

Stack Overflow用户

发布于 2013-07-10 14:28:19

@brettjonesdev是正确的,但我在这里发现的另一个有效的补充是:

代码语言:javascript
复制
var MyView = Backbone.Marionette.ItemView.extend({
  template: Handlebars.compile($("#assign-products-main-view").html()),
  model: new Backbone.Model({name: "Steve"})
});

这在搜索DOM时很有帮助。

票数 6
EN

Stack Overflow用户

发布于 2015-04-17 07:39:14

我们也可以在这里使用预编译的模板。

代码语言:javascript
复制
var MyView = Backbone.Marionette.ItemView.extend({
template: Handlebars.templates['filename'],
model: new Backbone.Model({name: "Steve"})
});

这样,我们就可以从Marionette中删除编译角色。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15703896

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档