我正在尝试对项目中经常使用的一些组件进行模板化。省略 html 内容中引入的冗余。但是我没有弄清楚是否有可能这样做。
我有一个这样的模板:
<script type="text/x-jquery-tmpl" id="somefieldtemplate" >
<input name=" Prefix" type="text" data-bind="value: ${ $item.fieldName}SomeField" />
..... mor contents ...
</script>
绑定(bind)到输入组件的参数应该是可调整的,因为有人可能会通过模板选项看到,所以我有一个像
这样的条目<div data-bind="template: { name: 'somefieldtemplate',
templateOptions:
{ fieldName:'somefield', displayName:'somefieldlabel' } }">
我的控制台日志中的错误消息是:
SyntaxError: Unexpected token {
我将问题缩小到这样一个事实,即如果我删除 $item.fieldName
及其值,它就可以工作。
有没有人对这个问题有启发性的解决方案?
编辑:
作为信息,我目前在版本中使用 knockout.js:knockout-latest
最佳答案
我遇到了同样的问题,经过一番努力后,我通过转移到不使用外部模板引擎的 knockout 1.3 beta(现在在 RC 中)解决了这个问题。它也不支持 templateOptions
但这不是问题。我刚刚为模板构建了一个自定义数据,其中包含作为属性的主要数据以及包含我将在 1.2 中的 templateOptions 中传递的内容的其他属性。我在 data
参数中传递了它,一切正常。
关于javascript - knockout js : parameters in templated bindings,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502606/