我正在使用knockoutjs來處理不同的事件 - 其中之一是我想添加千分位器到價格輸入字段。是否訂閱了一個屬性 - 在knockoutjs中 - 它自身會造成問題?
因此,我訂購了一個更改事件到我的價格字段,並做了一些增加缺失分隔符並將其寫回價格字段的魔法。寫回價格領域引發一場新的變革的事件,因此,我需要檢查,以打破循環 - 我問怎麼做,如果該值實際上更改:
this.listingPriceFormatted.subscribe(function (newValue, model) {
var cleanValue = newValue.toString().replace(/\D/g, '');
$('#Price').val(cleanValue);
var outValue = MySite.Utilities.addThousandSeperator(cleanValue);
if (newValue != outValue) {
me.listingPriceFormatted(outValue);
}
});
我真的不喜歡觸發同樣的事件兩次,只是爲了設置一次值 - 有什麼辦法可以在不觸發事件的情況下寫回字段,或者我是否做得這一切都錯了?
偉大的答案,excatly什麼,我一直在尋找。淘汰賽是偉大的,但個人我無法瀏覽它的文檔... – 2011-03-10 08:37:48