Handlebars在HTML属性中设置值以供JS使用

时间:2015-07-04 18:00:38

标签: javascript html5 handlebars.js

我尝试使用HandleBars将HTML属性中的值注入Javascript函数

 <button onclick="myFunction({{val}})">add</button>

我测试了

<a href="{{url}}">{{direction}}</a>

但第一个不起作用

1 个答案:

答案 0 :(得分:1)

不清楚“不工作”是什么意思。 (模板是否完全编译?是否正在编译但是标记输出不是您所期望的?它是您所期望的但是点击时没有触发js事件吗?)

这似乎与最新版本的把手一致:http://jsfiddle.net/8t70qtox/2/

请注意,该函数在全局范围内触发,因此必须在那里访问它才能运行。

在任何情况下,最好将js和模板保持分离:而不是内联的onclick处理程序,添加一个类和数据元素,指定函数需要的任何特定内容,以便事件处理程序可以根据需要访问它。

车把:

<button class="js-btn-clicker" data-val="{{val}}">add</button>

jQuery的:

$('body').on('click','.js-btn-clicker',function(){
    var $el = $(this);
    myFunction($el.data('val'));
});