在文件中,我必须使用html元素一个标签和一个输入字段。
<label class="reportNameTextBox" title="Click to edit report name" data-bind="text: Name() == null || Name().trim().length == 0 ? '[ Click to Enter Report Name ]' : Name(), css: { 'noData': Name() == null || Name().trim().length == 0 }"></label>
<input class="editInput" type="text" data-bind="value: Name" />
两者都绑定到具有属性Name
的Knockout viewmodel标题报告在viewmodel中我试图创建一个将字符限制为255的计算observable
report.Name = ko.computed(function () {
return report.Name().substring(0, 255);
});
我遇到的问题是在创建计算的observable之前绑定工作正常。在输入字段中输入值将反映在标签中。一旦我创建了observable。两个字段之间的绑定被打破但仍保留在输入字段中?
关于我做错了什么建议?
提前致谢
答案 0 :(得分:0)
您创建的计算机使用与observable相同的名称,因此ko会覆盖它。使用另一个名称来计算例如NameFormatted
:
report.NameFormatted = ko.computed(function () {
return report.Name().substring(0, 255);
});