【发布时间】:2011-12-14 10:01:50
【问题描述】:
我正在尝试对我的项目中经常使用的一些组件进行模板化。省略 html 内容中引入的冗余。但是我不知道是否有可能这样做。
我有一个类似的模板:
<script type="text/x-jquery-tmpl" id="somefieldtemplate" >
<input name=" Prefix" type="text" data-bind="value: ${ $item.fieldName}SomeField" />
..... mor contents ...
</script>
绑定到输入组件的参数应该可以调整,因为有人可以通过模板选项看到,所以我有一个类似的条目
<div data-bind="template: { name: 'somefieldtemplate',
templateOptions:
{ fieldName:'somefield', displayName:'somefieldlabel' } }">
我的控制台日志中的错误信息是:
SyntaxError: Unexpected token {
我将问题缩小到这样一个事实,即如果我删除 $item.fieldName 及其值,它会起作用。
有没有人对这个问题有启发性的解决方案?
编辑:
作为我目前使用的版本中的 knockout.js 的信息:knockout-latest
【问题讨论】:
-
在 data-binds 内部,您可以直接访问可用的变量,因此您可以执行类似 `data-bind="value: $data[$item.fieldName]" 之类的操作
-
感谢您的评论。这不是问题的确切解决方案,但它为我提供了解决方案的正确方向。
标签: javascript knockout.js jquery-templates