backbone.js - 使用带有 Backbone 的 Handlebars

标签 backbone.js requirejs handlebars.js

我正在学习 Backbone/Handlebars/Require。我已经在网上和 SO 上浏览过 - 有没有任何教程或网站可以指导我访问,以提供使用 Handlebars 而不是下划线的有用信息?

最佳答案

使用 handlebars.js 而不是 underscore 模板非常简单。看看这个例子:

https://cdnjs.com/libraries/backbone.js/tutorials/what-is-a-view (滚动到“加载模板”部分)

SearchView = Backbone.View.extend({
    initialize: function(){
        this.render();
    },
    render: function(){
        // Compile the template using underscore
        var template = _.template( $("#search_template").html(), {} );
        // Load the compiled HTML into the Backbone "el"
        this.el.html( template );
    }
});

基本上,backbone 中的约定是在渲染函数中构建 html。模板引擎的使用完全由您决定(我喜欢 Backbone)。所以你只需将其更改为:

SearchView = Backbone.View.extend({
    initialize: function(){
        this.render();
    },
    render: function(){
        // Compile the template using Handlebars
        var template = Handlebars.compile( $("#search_template").html() );
        // Load the compiled HTML into the Backbone "el"
        this.el.html( template );
    }
});

由于您使用的是 require.js,因此您可以将 Handlebars 设为模块顶部的依赖项。我对此还很陌生,但听起来要重点学习的是 Backbone.js 模式和 require.js 用法。

关于backbone.js - 使用带有 Backbone 的 Handlebars ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9072324/

相关文章:

javascript - 将输入值与 Backbone 收集数据进行比较

javascript - 从 Backbone View 下划线模板访问模型属性

javascript - 使用 Backbone.js 管理基本界面状态的更好方法

knockout.js - 如何停止 durandal/jquery 从 View 中剥离脚本标签?

javascript - Meteor.js/Handlebars.js - 了解程序编码风格和范围

javascript - 具有动态 ID 的 Backbone View

javascript - 如何使用 RequireJS/AMD 处理循环依赖?

javascript - angularjs和requirejs中 "Q"和 "q"之间的区别

javascript - {{#each}} 内的 Handlebars 助手

html - 如何使用 Handlebars 遍历 JSON 结构