Bagaimana untuk menggunakan kod boleh guna semula daripada fail lain dalam API komposisi Vue 3?
P粉323050780
2023-08-26 13:01:48
<p>Saya mencipta kod boleh guna semula dalam dateTime.js: </p>
<pre class="brush:php;toolbar:false;">import { ref, computed, watch } daripada 'vue';
import * sebagai dayjs daripada 'dayjs';
eksport fungsi lalai dateTime() {
const newDateTimeString = ref(null);
fungsi showDateTime(data) {
const dateTime = dayjs(data).format('DD-MM-YYYY')
newDateTimeString.value = dateTime;
}
kembali {
newDateTimeString,
showDateTime
}
}</pre>
<p><strong>Kod dalam dateTime.js dipanggil dalam Table.vue: </strong></p>
<p>Soalan: Bagaimana cara saya membuatnya berfungsi? Saya mahu menggunakan <kod>{{ showDateTime(scope.row[itemIn.field]) }}</code> Nampaknya ini akhirnya akan mencetuskan fungsi <code>showDateTime</code> dalam <code>dateTime.js</code>. </p>
<p>Apa salah saya? Kod ralat: <kod>Tidak ditangkap (dalam janji) Ralat Jenis: Objek(...) bukan fungsi</kod>, yang merujuk kepada <kod>const { showDateTime } = useDateTime();</code> ; </p>
<pre class="brush:php;toolbar:false;"><template v-else-if="itemIn.type == 'dateTime'">
{{ ShowDateTime(scope.row[itemIn.field]) }}
</template>
<skrip>
import { ref, computed } daripada 'vue';
import { defineComponent } daripada "vue";
import { useStore } daripada "vuex";
import { useDateTime } daripada '@/composables/dateTime';
eksport lalai defineComponent({
nama: "",
alat peraga: {
processingData: Objek
},
komponen: {
Bendera
},
memancarkan: ["unik", "refresh"],
persediaan(props, {emit}) {
const { showDateTime } = useDateTime();
kedai const = useStore()
fungsi setStatus(id, laluan) {
objek const = {
saya telah lakukan,
laluan: laluan
}
return store.getters.getStatus(objek);
}
kembali {
getScope,
setUniqueId,
getClass,
getWidth,
navigasi penomboran,
setStatus,
setTag,
showDateTime
};
}
});
</script></pre>
<p><br /></p>
Apabila anda menggunakan
export default
导出useDateTime
hook时,你必须在导入时不使用{ }
: