似乎在使用 Knockout 的文本绑定时,多个空格会合并为一个。例如:
<textarea data-bind="value: Notes"></textarea>
<p data-bind="text: Notes"></p>
函数 VM() { this.Notes = ko.observable(); }
var vm = 新的 VM();
ko.applyBindings(vm);
这是一个证明这一点的小提琴:http: //jsfiddle.net/9rtL5/
我发现在 jsfiddle 中,空间在 Firefox、Chrome 和 IE9 中被压缩。奇怪的是,虽然在我的应用程序中 IE9 不会压缩它们,但其他的却可以。
我的理解是 Knockout 使用 HTML 文本节点来呈现值。我在创建文本节点时发现了有关保留空格的相关问题:
Knockout 是否应该适当地处理转换空间?我真的不想为此使用自定义绑定处理程序。
实际上,我在选择中的显示文本的上下文中遇到了这个问题,并且在调试该问题时才发现它也与简单的文本绑定有关。我认为选择问题是相同的。