Backbone.js:_. trylate()函数结构

时间:2013-11-22 08:19:04

标签: javascript backbone.js

我正在查看使用Backbone.js

构建的应用的javascript代码

我找到了一个功能

render: function () {
        var that = this,
            template = _.template($(that.templateId).html(), that.model.attributes);

    }

此处 templateId:"#abc"

我只想了解_.template()函数的结构

任何人都可以帮助我理解以及如何将 that.model.attributes 作为输入

如果您需要更多信息,请原谅我。

1 个答案:

答案 0 :(得分:2)

正如手册所说:

  

模板

     

_。template(templateString,[data],[settings])

     

将JavaScript模板编译为可以评估的函数   渲染。

     

...您可以将数据对象作为第二个参数传递给模板,以便立即呈现而不是返回模板函数。

来源:http://underscorejs.org/#template

基本上,_.template()采用DOM元素的html(模板脚本),在DOM中的某个地方定义了id = abc。编译传递的数据that.model.attributes并返回呈现的DOM部分并准备使用。

如果您没有传递第二个参数data,那么您将获得一个模板函数,即:

var rendered = template({whatever: that.model.attributes});

that.model.attributes所以this.model.attributes所以(伪)thisview.model.attributes是指绑定到此视图的模型。

无论如何,我建议你阅读