缺少参数的默认值
||
我正在使用带有jQuery和jQuery模板的淘汰赛。假设我有一个需要人物对象的模板
<script type=\"text/html\" id=\"person_template\">
<tr><td>Forename</td><td><input type=\"textbox\" data-bind=\"value:FORENAME\" /></td></tr>
<tr><td>Surname</td><td><input type=\"textbox\" data-bind=\"value: SURNAME\"/></td></tr>
</script>
现在,如果我将仅带有FORENAME的对象传递给此模板,则会收到错误消息:
SURNAME未定义错误
我试图在Knockout中创建一个自定义绑定,但是在它到达之前就抛出了错误。
如果我在将对象传递给模板之前填写这些空白字段,我知道一切都会解决,但是我想将解决方案放在模板中,而不是在JavaScript中。
有谁知道一种可能对此类情况有用的方法?
没有找到相关结果
已邀请:
2 个回复
肉簧咸缮
因此,这将验证您的对象是否具有该字段,如果没有,它将为该字段创建一个新的可观察对象。然后,将其交给实值绑定。 与此类似的一种非常类似(但不太冗长)的替代方法是,使绑定确保该字段存在,然后重写绑定属性以使用实际的
绑定。就像是:
这两个都假设您要传递的字段直接位于模板上下文的对象之外(因此,如果您传递的全局范围为\'viewModel.someProperty \'的东西将不起作用)。 这是同时具有两个选项的工作示例:http://jsfiddle.net/rniemeyer/dFSeB/ 我不想将字段作为字符串传递,但是我发现并没有很好的解决方法。
娠侈脚惮顽