javascript – 在lodash模板中返回函数值

前端之家收集整理的这篇文章主要介绍了javascript – 在lodash模板中返回函数值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在使用lodash模板来呈现客户端的html模板.有许多html模板正在重复.所以,我决定在另一个模板中调用重复模板.例如:

dummy.html

<%= _.template(templates['button'])({ title: "click me" }) %>

上面的方法有效,但是当我调用_.template来反复渲染一个按钮时,我想要创建一个全局函数,如下所示:

dummy.js

var sb = {
    setButton: function(data){
        data = data || {};
        return _.template(templates['button'])(data);
    },/* other functions */
}

然后在dummy.html中调用

<%= sb.setButton({ title: "click me" }) %>

但这不起作用. (它只是不呈现)

我在这做错了什么?

编辑:

我在setButton函数中放置了console.log(this).它没有在chrome控制台中记录任何内容.然后我从lodash模板语法中删除=,然后记录了sb全局变量.

<% sb.setButton({ title: "click me" }) %>

但仍然上面的那个没有渲染按钮.

最佳答案
你编译的模板不知道sb是什么.假设您使用_.template(src)()调用主模板,Lodash会对其进行扼流,并出现类似于ReferenceError的错误:sb未定义.将您的partials哈希作为选项传递,您将获得按钮:

var templates = {
    button: '

猜你在找的HTML相关文章