Dışa aktarma nesnesinin değerleri, örneğin, ":" ile ayrılmış bir UiComponent örneğinin adı ve özelliğine çözümlenmelidir checkout.cart.total:title
.
Dışa aktarma hedef adının UI bileşeni "ad alanı" içermesi gerekir.
Örneğinizde, değeri, dışa aktarım kaynağı olan UiComponent özelliğine çözümlenen bir dizeye ayarlarsınız. Dışa aktarma, geçerli bir dışa aktarma hedefi olmadığından incelediğinizde tanımsız.
İşte bir örnek:
defaults: {
exportTarget: "foo.bar",
exportTargetProperty: "showMessage",
tracks: {
shouldShowMessage: true
},
exports: {
shouldShowMessage: '${$.exportTarget}:${$.exportTargetProperty}'
}
}
...
Yukarıdaki değer, shouldShowMessage
özellik değerini her değer değiştiğinde showMessage
tam adı olan bir UiComponent özelliğine kopyalar foo.bar
.
Bunun hedef özelliği otomatik olarak bir KO'yu gözlemlenebilir hale getirmeyeceğini unutmayın. Değer değişiklikleri, KO'nun bu özelliğe erişen DOM düğümlerini yeniden göndermek için tetiklemesi gerekiyorsa, bunun açıkça bildirilmesi gerekir.
Bu arada, ekleme shouldShowMessage
için tracks
nesnenin bir ko-ES5 gözlemlenebilir automagicallylar yapacaktır. Değişmez ko.observable()
işler kullanmak da.
Yukarıdaki örnekte, exportTarget
ve exportTargetProperty
öğesinde yapılandırılmıştır defaults
. Bunlar, genellikle daha anlamlı olan JSON'daki UiComponent seçeneklerinin bir parçası olarak da belirtilebilir, çünkü UiComponent adlarını içeren UiComponent hiyerarşisi burada tanımlanır.
Son olarak, değeri diğer UI bileşenine iletmek için bir değer nesnesi kullanan çözümünüzün ihracat veya ithalat kullanmaktan daha iyi olduğunu düşünüyorum. Deneyimlerime göre, DOM'da veya UiComponents'de ortak durumu korumak, en basit durumlar dışında spagetti OOP için bir reçetedir.