我有一个绑定到我的html的视图模型:
function ViewModel(height, color, replies, hasMissingReplies) {
this.height = height + "%";
}
现在我的布局正确显示,但我也使用ViewModel进行了一些计算,其中我总结了导致NaN(非数字)的高度,因为高度是一个字符串。
只有当我删除%-char然后我才有一个整数...但是它会从html解释为像素,所以我的布局是错误的。
我可以使用淘汰赛吗?
答案 0 :(得分:0)
有很多方法可以解决这个问题,但最简单的方法可能就是:
function ViewModel(height, color, replies, hasMissingReplies) {
this.height = +height;
this.heightString = this.height + "%";
}
保留两份副本!
如果你想要一个更“淘汰”的解决方案,你可以使用computed
observables:
function ViewModel(height, color, replies, hasMissingReplies) {
var self = this;
this.height = ko.observable(+height);
this.heightString = ko.computed(function() {
return self.height() + "%";
});
}
但是,除非你需要你的height
属性是一个可观察的属性,否则我真的不明白这一点。