敲除无法处理绑定
Knockout unable to process binding
未定义的文本如何绑定?例如名称不可用:
<table id="recordTbl" data-bind="visible: records().length > 0" class="table">
<thead>
<tr>
<th class="col-md-4">ID</th>
<th class="col-md-4">Name</th>
</tr>
</thead>
<tbody data-bind="foreach: records">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: name"></td>
</tr>
</tbody>
</table>
我收到这个错误:
Uncaught ReferenceError: Unable to process binding "text: function (){return name }"
Message: name is not defined
您可以通过始终表示当前视图模型的 $data
绑定上下文 属性 访问 name
:
<tbody data-bind="foreach: records">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: $data.name"></td>
</tr>
</tbody>
使用这种方法,如果 records
中的一项没有 name
属性,KO 将不会抛出异常。
没有 $data
,名为 name
的标识符是未定义的。但是 $data.name
始终是一个有效的表达式它只是 returns undefined
如果当前视图模型没有名为 name
.
的 属性
未定义的文本如何绑定?例如名称不可用:
<table id="recordTbl" data-bind="visible: records().length > 0" class="table">
<thead>
<tr>
<th class="col-md-4">ID</th>
<th class="col-md-4">Name</th>
</tr>
</thead>
<tbody data-bind="foreach: records">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: name"></td>
</tr>
</tbody>
</table>
我收到这个错误:
Uncaught ReferenceError: Unable to process binding "text: function (){return name }"
Message: name is not defined
您可以通过始终表示当前视图模型的 $data
绑定上下文 属性 访问 name
:
<tbody data-bind="foreach: records">
<tr>
<td data-bind="text: id"></td>
<td data-bind="text: $data.name"></td>
</tr>
</tbody>
使用这种方法,如果 records
中的一项没有 name
属性,KO 将不会抛出异常。
没有 $data
,名为 name
的标识符是未定义的。但是 $data.name
始终是一个有效的表达式它只是 returns undefined
如果当前视图模型没有名为 name
.