我知道,一個可以這樣可以將自定義屬性上的可綁定裝飾器鎖定爲只有一個或一個時間嗎?
@bindable({ defaultBindingMode: bindingMode.oneTime }) maxSize: number;
與defaultBindingMode聲明屬性但它可以被聲明,使得其用戶不能指定任何其他方式?
我知道,一個可以這樣可以將自定義屬性上的可綁定裝飾器鎖定爲只有一個或一個時間嗎?
@bindable({ defaultBindingMode: bindingMode.oneTime }) maxSize: number;
與defaultBindingMode聲明屬性但它可以被聲明,使得其用戶不能指定任何其他方式?
這是不可能的,並會違背「公約是偉大的,直到你需要重寫它們」Aurelia的精神。您正在通過指定默認綁定模式爲組件指定約定。這就是說,你可以強制在你自己的控制內進行一次性綁定,並有效地強制對你的控件的任何使用者進行一次性綁定。
例如,在自定義屬性中,執行bind
回調中您希望屬性執行的所有操作,並且不要設置任何「更改」回調。或者在自定義元素中,對組件視圖中的所有數據綁定使用one-time
綁定命令。
這就是我最終做的。在大約15個「綁定」中,只有3個是可觀察的,所有其他都只是設置,就組件的外觀而言並不可變。所以我最終只在3個「改變」的回調中掛鉤。 – epitka
我不認爲有辦法鎖定綁定模式......但爲什麼你會想要這樣做? –