Saya mempunyai komponen fail tunggal ini (singkatan soalan) (vue 3.2.31):
<template lang="pug"> .test Hello world! </template> <style lang="sass" scoped> .test font-weight: bold </style> <script setup lang="ts"> onMounted(() => { console.log('Mounted'); }); </script>
Ia digabungkan melalui vitejs, dieksport sebagai (katakan) NamedExport
, dan diimport atas permintaan sebagai rentetan dikodkan base64 di sisi pelanggan.
const component = await defineAsyncComponent(async () => { // A module that exports multiple components. const module = await import(base64StringSentFromTheServer); // Choose one. return module['NamedExport']); })
Kemudian, hasilnya mestilah:
<component :is="component" />
Ia berfungsi dengan baik , kecuali dua perkara, satu daripadanya ialah cangkuk tidak dipanggil (dalam kes ini onMounted
) dan satu lagi ialah pengimport gaya tidak dipanggil sama ada.
Adakah tingkah laku yang dijangkakan ini atau saya kehilangan sesuatu? Adakah <script setup>
cara untuk menulis komponen yang bertanggungjawab?
Nampaknya saya mempunyai dua contoh Vue sedang berjalan (satu disertakan dengan pakej saya dengan rollup, satu lagi diimport dalam skrip itu sendiri), dan atas sebab yang tidak diketahui kedua-dua contoh tidak menjalankan sambungan panggilan.
Dengan mengalih keluar salah satu tika (sebenarnya menghantar vue sebagai luaran dalam konfigurasi binaan rollup) ia berfungsi dengan baik sekarang.