1
<input type="hidden" name="isActive" data-bind="value : booleanValue" />
在上面的代碼中,booleanvalue包含布爾值(即true或false.But),但保存它時轉換爲字符串,因爲在輸入標記中綁定了值。需要在html中發送布爾值
<input type="hidden" name="isActive" data-bind="value : booleanValue" />
在上面的代碼中,booleanvalue包含布爾值(即true或false.But),但保存它時轉換爲字符串,因爲在輸入標記中綁定了值。需要在html中發送布爾值
這是如何挖空的作品,但是你可以創建一個擴展器,爲你的字符串 - >布爾對話。已經有一個數值轉換in the documentation一個例子你可以很容易地修改:
ko.extenders.boolean = function(target, precision) {
var result = ko.computed({
write: function(newValue) {
var current = target(),
valueToWrite = typeof newValue == 'string' ?
newValue.toLowerCase() == "true" :
newValue;
if (valueToWrite !== current) {
target(valueToWrite);
} else {
if (newValue !== current) {
target.notifySubscribers(valueToWrite);
}
}
}
}).extend({ notify: 'always' });
result(target());
return result;
};
而且你可以使用它:
ko.applyBindings({
booleanValue: ko.observable(true).extend({boolean: true})
});
演示JSFiddle。