2011-03-08 28 views
1

我有一个jquery模板,其中我已经将淘汰赛js绑定到函数文字上,函数文字中有大括号,并且它们被模板引擎错误地解释,这里是模板:在jQuery模板中转义大括号和淘汰赛js

<button {{html "data-bind='click: function(){ loadProduct(" + i + ") }'" }}>${ product.Name }</button> 

有没有什么方法可以遮蔽这些大括号?我试过了{#literal}标签,但没有成功,我还在{{html}}标签中包装了每一个标签,因为“数据绑定”中的连字符也被引擎错误地解释。

回答

1

如果您想在jQuery模板中添加数据绑定属性,那么就没有必要做太多的转义。

我假设您的案例中的“我”是使用{{each(i,product)Products}}之类的东西循环浏览您的产品。在您的模板,可以定义这样的元素:

<button data-bind="click: function(){ loadProduct(i); }">${product.Name}</button> 

将有机会获得变量“i”的功能,无需连接字符串。

样品在这里:http://jsfiddle.net/rniemeyer/Pq5Vd/

感谢。

+0

非常感谢!我已经有一段时间了,真的,谢谢。 – ryudice