我這裏有一個情況綁定更新,即使我改變了綁定屬性value
內部定製元素中的valueChanged
被調用。如何將更新後的值從自定義元素髮送回viewModel,而不觸發valueChanged
以獲取該可綁定值。自定義元素雙向而不觸發valueChange
是有辦法剿呢?或者如果這是從內部代碼調用或來自視圖,我必須使用內部跟蹤?
我這裏有一個情況綁定更新,即使我改變了綁定屬性value
內部定製元素中的valueChanged
被調用。如何將更新後的值從自定義元素髮送回viewModel,而不觸發valueChanged
以獲取該可綁定值。自定義元素雙向而不觸發valueChange
是有辦法剿呢?或者如果這是從內部代碼調用或來自視圖,我必須使用內部跟蹤?
沒有辦法防止綁定屬性的更改處理方法從基於自定義元素的自己的代碼是否被分配財產或不管它是由外部程序或者是在響應用戶輸入指定的被調用。你將不得不推出你自己的內部追蹤機制。
傑里米說,沒有辦法,以防止綁定屬性的更改處理被調用。但是,只能使用change.delegate
或keyup.delegate
屬性的表單輸入附加或觸發代碼。這將允許您將事件代碼與綁定屬性所產生的更改隔離開來。
這裏有一個GistRun來證明這一點:
如果自定義元素的值發生變化時,你還需要更新視圖模型變量? – nicovank
讓我清楚這一點。我確實想更新viewModel而不考慮來自viewModel的值。在這種情況下,它是疊加的二進制值。如果viewModel更改爲true,則顯示疊加層,如果您單擊疊加層的關閉按鈕,則必須關閉疊加層,並將viewModel的值更新爲false,以便下次有人切換(toggle = toggle ')它仍然會打開覆蓋圖,否則需要雙擊切換。 overlay上的關閉按鈕觸發valueChanged中的另一個關閉事件 –