【发布时间】:2018-07-24 02:01:06
【问题描述】:
编辑为什么不保存计算的长度?
只有当一个 observable 的精度为 1、2 或 3 时,有没有办法对它进行数据绑定?下面是我的虚拟机:
function FFS_ViewModel() {
var self = this;
.....
self.SortOrder = ko.observable();
self.SortOrderLen = ko.computed(function(){
return self.SortOrder().length; // **Error Here: Cannot read property 'length' of undefined**
});
self.Description = ko.observable();
self.records = ko.observableArray([]);
})
这里是视图:
<table class='TFtable'>
<thead>
<tr>
<th>Sort Order</th>
</tr>
</thead>
<tbody data-bind="foreach: records">
<tr id="mainFactors">
<td data-bind="if: SortOrderLen === 2"></td>
<td data-bind="text: Description"></td>
</tr>
</tbody>
</table>
【问题讨论】:
-
应该
SortOrder成为observableArray,因为您想使用它的length?如果应该是字符串,初始化为''
标签: javascript if-statement mvvm knockout.js