Saya memiliki komponen dengan kumpulan data awal tertentu:
data: function (){
return {
modalBodyDisplay: 'getUserInput', // possible values: 'getUserInput', 'confirmGeocodedValue'
submitButtonText: 'Lookup', // possible values 'Lookup', 'Yes'
addressToConfirm: null,
bestViewedByTheseBounds: null,
location:{
name: null,
address: null,
position: null
}
}
Ini adalah data untuk jendela modal, jadi ketika itu menunjukkan saya ingin memulai dengan data ini. Jika pengguna membatalkan dari jendela saya ingin mengatur ulang semua data ke ini.
Saya tahu saya dapat membuat metode untuk mengatur ulang data dan secara manual mengatur semua properti data kembali ke aslinya:
reset: function (){
this.modalBodyDisplay = 'getUserInput';
this.submitButtonText = 'Lookup';
this.addressToConfirm = null;
this.bestViewedByTheseBounds = null;
this.location = {
name: null,
address: null,
position: null
};
}
Tapi ini sepertinya sangat ceroboh. Ini berarti bahwa jika saya membuat perubahan pada properti data komponen, saya harus memastikan bahwa saya ingat untuk memperbarui struktur metode reset. Itu tidak terlalu buruk karena ini adalah komponen modular kecil, tetapi itu membuat bagian pengoptimalan otak saya menjerit.
Solusi yang saya pikir akan berhasil adalah dengan mengambil properti data awal dalam sebuah ready
metode dan kemudian menggunakan data yang disimpan itu untuk mengatur ulang komponen:
data: function (){
return {
modalBodyDisplay: 'getUserInput',
submitButtonText: 'Lookup',
addressToConfirm: null,
bestViewedByTheseBounds: null,
location:{
name: null,
address: null,
position: null
},
// new property for holding the initial component configuration
initialDataConfiguration: null
}
},
ready: function (){
// grabbing this here so that we can reset the data when we close the window.
this.initialDataConfiguration = this.$data;
},
methods:{
resetWindow: function (){
// set the data for the component back to the original configuration
this.$data = this.initialDataConfiguration;
}
}
Tetapi initialDataConfiguration
objek berubah seiring dengan data (yang masuk akal karena dalam metode baca kita initialDataConfiguration
mendapatkan ruang lingkup fungsi data.
Apakah ada cara untuk mengambil data konfigurasi awal tanpa mewarisi cakupan?
Apakah saya terlalu memikirkan hal ini dan ada cara yang lebih baik / lebih mudah untuk melakukan ini?
Apakah hardcode data awal satu-satunya pilihan?