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 showMessagetam 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 shouldShowMessageiçin tracksnesnenin bir ko-ES5 gözlemlenebilir automagicallylar yapacaktır. Değişmez ko.observable()işler kullanmak da.
Yukarıdaki örnekte, exportTargetve 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.