<input value =“{{:abc}}”/>似乎在jsviews中无法正常工作,如果&#39; abc&#39;有空白

时间:2014-01-28 11:45:12

标签: javascript jsrender jsviews

我正在使用jsviews呈现以下模板

recoList = [{title:"Apple"},{title:"Two Apples"}];

<script id="sampleTmpl" type="text/x-jsrender">
{{for recoList}}
  <input type="text" value={{:title}} />
{{/for}}
</script>

每当title的值中有一个空格时,比如“Two Apples”,那么输入框将呈现为

<input type="text" value="Two" />

空白之后的单词被拼接掉了!

如何将完整字符串赋予值?

2 个答案:

答案 0 :(得分:1)

现在添加data-link代替value={{:title}}解决了这个问题。

像这样:

<input type="text" data-link="title" />

但是,我仍然不知道为什么value={{:title}}在空格后拼接字符串。

答案 1 :(得分:1)

原因很简单。你错过了引号:

<input type="text" value={{:title}} />

应该是:

<input type="text" value="{{:title}}" />

JsRender只是用值替换标记,所以:

<input type="text" value=Two Apples />

应该是:

<input type="text" value="Two Apples" />

你说引用不起作用,但上面的确应该有效。使用data-link="title"将添加引号,但也会添加数据绑定,因此您可以双向绑定到title字段...