bir global veri yapısı Vue.js. ile tek bir sayfa uygulaması yapıyorum Bu genişletilmiş, görüşlü bir elektronik tablo gibi daha basit bir uygulama. Uygulamanın farklı görünümlerini ele almak için vue-router
kullanıyorum, bazıları yeni veri girmek için kullanılır, bazıları veriler üzerinde hesaplamalar yapmak için kullanılır, ancak tüm veriler iç içe geçmiştir (veri # 1 görünümünde girilen veriler görünümde veri girmek için kullanılır) # 2 ve sonra her ikisi de # 3 numaralı resimde bir şeyi hesaplamak için kullanılır.Vue.js
Küresel bir veri yapısına ihtiyacım var demektir. Araştırmamdan, aşağıdakileri yapabilmem için birkaç seçeneğim olduğunu fark ettim:
- "uygun" yol: bileşenleri olayları yayma ve bunları üst öğede işleme; Ben
$parent.$data
- benim şimdiki çözüm vasıtasıyla bileşen şablonlar doğrudan ana kapsamını erişen
- elde etmek istediğinizi veri böylece gibi
nesne çocuğa ebeveyn veri gönderim atamak için biraz overcomplicated görünüyor:
const REPORTS = {
template: templates.reports,
data: function(){
return this.$parent.$data
}
};
Ancak, altıncı hissim bana iyi bir uygulama olmadığını söylüyor.
Eğer haklıysam, bunu başarmanın daha iyi yolları nelerdir: tüm bileşenlerden erişilebilir bir, global veri yapısı?
Teşekkür ederim, tam da aradığım şey buydu. Merak etme, ana veri referansını çocuklara ne kadar kötü geçiyor? – angr
@angr Hiç de fena değil, eğer iletişim ana çocukla sınırlıysa, her zaman ayrıntılı olarak ana çocuk iletişimine gidebilirsiniz (burada (http://stackoverflow.com/a/40915910/1610034), ama eğer gerekirse vuex kullanmaktan daha sonra dağınık olabilen çoklu bileşen arasında iletişim kurabilir. – Saurabh