Mula menulis aplikasi vue.js berasaskan kelas dalam typescript
Feb 14, 2025 am 09:45 AM
vue.js 3.0 dan typescript adalah kombinasi yang kuat
vue.js 3.0 akan membawa sokongan yang lebih baik kepada pengguna TypeScript, termasuk sokongan asli untuk komponen berasaskan kelas dan kesimpulan jenis yang lebih baik. Tetapi kini anda boleh mula menulis aplikasi VUE menggunakan TypeScript menggunakan Vue CLI, alat baris arahan VUE.
kelebihan komponen berasaskan kelas dan typeScript
Komponen berasaskan kelas di Vue.js boleh ditulis menggunakan kelas Typescript, yang menyediakan pemeriksaan dan pemeliharaan jenis yang lebih baik. Kelas -kelas ini boleh diisytiharkan menggunakan penghias dalam pakej vue-property-decorator
. @Component
Penghias lain yang disediakan oleh pakej
boleh meningkatkan lagi komponen berasaskan kelas. Ini termasuk vue-property-decorator
untuk mengisytiharkan prop sebagai atribut kelas, @Prop
untuk memancarkan peristiwa dari kaedah kelas, dan @Emit
untuk membuat pemerhati. @Watch
kelebihan typescript dan vue.js
Typescript digunakan bersamaan dengan Vue.js dengan pelbagai kelebihan, termasuk pemeriksaan jenis statik untuk pengesanan awal kesilapan, perkhidmatan autokomplete, navigasi dan refactoring yang lebih baik, dan menyediakan kod yang lebih berstruktur dan extensible untuk perpustakaan aplikasi kompleks.September lalu, Evan You (pencipta Vue.js) mengumumkan rancangan untuk versi utama perpustakaan seterusnya. Vue 3.0 akan membawa pengalaman yang lebih baik kepada pengguna TypeScript, termasuk sokongan asli untuk komponen berasaskan kelas, dan sokongan yang lebih baik untuk kesimpulan jenis semasa menulis kod.
Berita baiknya ialah anda tidak perlu menunggu sehingga pembebasan 3.0 (dijangka pada Q3 2019) untuk mula menulis aplikasi VUE menggunakan TypeScript. Alat baris perintah Vue Vue CLI menyediakan pilihan untuk memulakan projek menggunakan alat membina TypeScript yang telah dikonfigurasikan dan termasuk modul
yang disokong secara rasmi yang membolehkan anda menulis komponen VUE sebagai kelas TypeScript. vue-class-component
membuat projek vue typescript
Salah satu halangan untuk memulakan dengan TypeScript boleh mengkonfigurasi alat binaan yang diperlukan. Syukurlah, Vue CLI menyelesaikan masalah ini untuk kami. Kita boleh menggunakannya untuk membuat projek untuk kita di mana pengkompil Typescript disediakan dan siap.mari kita memperkenalkan proses menggunakan TypeScript secara ringkas untuk menyokong membuat projek VUE baru.
Jalankan arahan berikut dari baris terminal/arahan (dan dengan asumsi anda mempunyai Node.js dipasang) untuk memasang Vue CLI secara global:
npm install -g @vue/cliSeterusnya, mari buat projek baru dan tentukan nama projek:
vue create vue-typescript-demoIni juga akan menjadi nama subfolder untuk projek pemasangan. Selepas menekan
Pilih pilihan manual dan anda akan melihat satu set pilihan selanjutnya. Pilihan yang diperlukan adalah tentu saja TypeScript, tetapi anda juga mungkin mahu memilih Vuex kerana kami akan melihat beberapa penghias khusus VUEX kemudian.
Selepas memilih pilihan projek, skrin seterusnya akan meminta anda jika anda ingin menggunakan sintaks komponen gaya kelas. Katakan "ya" untuk ini. Anda kemudian akan ditanya sama ada anda mahu "menggunakan Babel dengan TypeScript untuk polyfills untuk pengesanan automatik". Ini adalah idea yang baik untuk projek yang anda akan menyokong pelayar yang lebih tua. Jawab seluruh soalan yang diperlukan dan proses pemasangan harus bermula.
Arahan mengenai Sokongan Editor/IDE
Banyak editor kod dan IDES kini menyokong TypeScript. Dalam penyelesaian berbayar, perisian JetBrains (seperti WebStorm, PHPStorm) mempunyai sokongan yang sangat baik untuk kedua -dua VUE dan TypeScript. Jika anda sedang mencari alternatif percuma, saya cadangkan kod Visual Studio Microsoft: bersempena dengan sambungan Vetur, ia menyediakan pemeriksaan autokomplete dan jenis yang sangat baik.
Komponen berasaskan kelas
Mari kita lihat bagaimana menulis komponen Vue menggunakan kelas. Walaupun ciri ini tidak terhad kepada TypeScript, menggunakan komponen berasaskan kelas membantu TS untuk menyediakan pemeriksaan jenis yang lebih baik, dan pada pendapat saya, ia menjadikan komponen lebih mudah dan mudah dikekalkan.
mari kita lihat sintaks. Jika anda mengikuti langkah -langkah di bahagian sebelumnya dan mencipta projek baru menggunakan Vue CLI, pergi ke direktori projek, pergi ke subfolder src , dan buka app.vue . Apa yang kita berminat di sini ialah bahagian <script>
kerana ia adalah satu -satunya bahagian yang berbeza dari komponen Fail Single Vue (SFC).
npm install -g @vue/cli
Perhatikan bahawa tag <script>
itu sendiri mempunyai atribut ts
yang ditetapkan ke lang
. Ini sangat penting untuk alat binaan dan editor anda untuk mentafsirkan kod dengan betul sebagai typescript.
Untuk mengisytiharkan komponen berasaskan kelas, anda perlu membuat kelas yang memanjangkan VUE (di sini ia diimport terus dari pakej vue-property-decorator
dan bukan modul vue
).
pengisytiharan kelas perlu bermula dengan @Component
penghias:
vue create vue-typescript-demo
anda mungkin menyedari bahawa dalam kod dari komponen App.vue
, penghias juga boleh menerima objek yang boleh digunakan untuk menentukan komponen, alat peraga, dan penapis:
import { Component, Vue } from 'vue-property-decorator'; import HelloWorld from './components/HelloWorld.vue'; @Component({ components: { HelloWorld, }, }) export default class App extends Vue {}
atribut data
Apabila mengisytiharkan komponen berasaskan objek, anda akan akrab dengan fungsi yang mesti mengisytiharkan sifat data komponen sebagai mengembalikan objek data:
@Component class MyComponent extends Vue {}
... Untuk komponen berasaskan kelas, kita boleh mengisytiharkan atribut data sebagai atribut kelas biasa:
@Component({ components: { MyChildComponent }, props: { id: { type: String, required: true } }, filters: { currencyFormatter } }) class MyComponent extends Vue {}
Properties Pengkomputeran
Satu lagi kelebihan menggunakan kelas sebagai komponen adalah sintaks bersih untuk mengisytiharkan sifat -sifat yang dikira, menggunakan kaedah getter:
{ data: () => ({ todos: [], }) }
Begitu juga, anda boleh membuat sifat dikira yang boleh ditulis dengan menggunakan kaedah setter:
@Component class TodoList extends Vue { todos: []; }
kaedah
Kaedah komponen boleh diisytiharkan dengan cara yang sama ringkas, seperti kaedah kelas:
npm install -g @vue/cli
Pada pendapat saya, sintaks mudah untuk mengisytiharkan kaedah, atribut data, dan atribut yang dikira membuat komponen berasaskan kelas dan membaca lebih baik daripada komponen berasaskan objek asal.
penghias
kita boleh melangkah lebih jauh dan menggunakan penghias tambahan yang disediakan oleh pakej vue-property-decorator
. Ia menyediakan enam penghias tambahan untuk menulis komponen berasaskan kelas:
-
@Emit
-
@Inject
-
@Model
-
@Prop
-
@Provide
Mari kita lihat ketiga -tiga anda mungkin mendapati yang paling berguna. -
@Watch
anda boleh mengisytiharkan alat peraga anda sebagai harta kelas menggunakan penghias
.
@Prop
seperti penghias lain,
boleh menerima pelbagai parameter, termasuk jenis, jenis array atau objek pilihan:
@Prop
@Component
Apabila digunakan dengan TypeScript, anda harus menambah pengendali yang tidak kosong (!) Kepada nama prop anda untuk memberitahu pengkompil bahawa prop akan mempunyai nilai yang tidak kosong (kerana TS tidak tahu bahawa nilai-nilai ini akan diluluskan ketika memulakan komponen dalam komponen):
vue create vue-typescript-demo
Perhatikan bahawa seperti yang ditunjukkan di atas, anda boleh meletakkan deklarasi penghias dan atribut sepenuhnya pada satu baris jika anda lebih suka. @Prop
import { Component, Vue } from 'vue-property-decorator'; import HelloWorld from './components/HelloWorld.vue'; @Component({ components: { HelloWorld, }, }) export default class App extends Vue {}
Satu lagi penghias mudah adalah
, yang membolehkan anda mengeluarkan peristiwa dari mana -mana kaedah kelas. Acara yang dipancarkan akan menggunakan nama kaedah (nama unta akan ditukar kepada kebab-kes), kecuali nama peristiwa alternatif diserahkan kepada penghias.@Component class MyComponent extends Vue {}
Jika kaedah mengembalikan nilai, nilai akan dikeluarkan sebagai muatan acara, serta mana -mana parameter yang diserahkan kepada kaedah tersebut.
@Emit
Kod di atas akan memancarkan acara
dengan muatan nilai . @Emit
@Component({ components: { MyChildComponent }, props: { id: { type: String, required: true } }, filters: { currencyFormatter } }) class MyComponent extends Vue {}
add-todo
this.newTodo
Ringkasan
@Watch
Saya harap artikel ini menunjukkan kepada anda bahawa ia tidak semestinya sukar untuk mula menulis aplikasi VUE menggunakan TypeScript. Dengan memulakan projek baru menggunakan CLI, anda boleh dengan cepat menyediakan alat binaan yang diperlukan. Termasuk sokongan untuk komponen berasaskan kelas dan penghias tambahan akan membolehkan anda menulis ringkas, Idiomatik Typescript segera!
Ingin belajar vue.js dari awal? Gunakan SitePoint Premium untuk mendapatkan koleksi lengkap buku Vue yang meliputi asas, projek, tip dan alat, dan banyak lagi. Sertai sekarang hanya $ 9 sebulan atau cuba percubaan percuma 7 hari kami.
{ data: () => ({ todos: [], }) }
Soalan Lazim (FAQ) mengenai Vue.js berasaskan kelas menggunakan TypeScript
Apakah faedah menggunakan typescript dan vue.js?
Typescript menyediakan menaip statik, yang boleh menjadi kelebihan yang ketara apabila membangunkan aplikasi besar. Ia membantu menangkap kesilapan awal dalam proses pembangunan, menjadikan kod lebih mantap dan lebih mudah untuk dikekalkan. Typescript juga menyediakan perkhidmatan penyelesaian, navigasi dan pembinaan semula secara automatik untuk menjadikan proses pembangunan lebih cekap. Apabila digunakan dengan vue.js, TypeScript membolehkan asas kod yang lebih berstruktur dan diperluaskan, menjadikannya lebih mudah untuk mengurus dan membangunkan aplikasi yang kompleks.
Bagaimana untuk menyediakan projek Vue.js menggunakan TypeScript?
Menyediakan projek Vue.js dengan TypeScript melibatkan beberapa langkah. Pertama, jika anda tidak memasang Vue CLI, anda perlu memasangnya. Kemudian, gunakan Vue CLI untuk membuat projek baru dan pilih TypeScript sebagai ciri semasa proses penciptaan. Vue CLI akan menubuhkan konfigurasi TypeScript untuk anda. Anda kemudian boleh mula menulis komponen VUE menggunakan TypeScript.
Apakah komponen berasaskan kelas dalam vue.js?
Komponen berasaskan kelas di Vue.js adalah cara untuk menentukan komponen menggunakan kelas ES6. Pendekatan ini dapat menjadikan komponen anda lebih mudah dibaca dan difahami, terutama bagi pemaju dari latar belakang dalam pengaturcaraan berorientasikan objek. Komponen berasaskan kelas juga berfungsi dengan baik dengan TypeScript, yang membolehkan anda memanfaatkan keupayaan TypeScript, seperti jenis statik dan antara muka.
Bagaimana menggunakan TypeScript untuk menentukan komponen berasaskan kelas dalam vue.js?
Untuk menentukan komponen berasaskan kelas menggunakan TypeScript dalam vue.js, anda perlu menggunakan penghias vue-class-component
. Penghias ini membolehkan anda menulis komponen sebagai kelas ES6. Di dalam kelas, anda boleh menentukan data, kaedah, dan cangkuk kitaran hayat seperti yang anda lakukan dalam komponen VUE biasa.
Bolehkah saya menggunakan Arahan Vue.js dalam komponen berasaskan kelas?
Ya, anda boleh menggunakan Arahan Vue.js dalam komponen berasaskan kelas. Sintaks adalah sama seperti dalam komponen VUE biasa. Anda boleh menggunakan v-model
, v-if
, v-for
dan arahan lain dalam templat.
Bagaimana menggunakan alat peraga dalam komponen berasaskan kelas?
Dalam komponen berasaskan kelas, anda boleh menentukan prop menggunakan @Prop
penghias. Penghias ini membolehkan anda menentukan jenis prop dan sama ada ia diperlukan atau mempunyai nilai lalai.
Bagaimana menggunakan sifat yang dikira dalam komponen berasaskan kelas?
Dalam komponen berasaskan kelas, anda boleh menentukan sifat yang dikira sebagai kaedah getter dalam kelas. Hasil dari kaedah getter akan di -cache dan dikira semula hanya jika kebergantungannya berubah.
Bagaimana menggunakan pemerhati dalam komponen berasaskan kelas?
Dalam komponen berasaskan kelas, anda boleh menggunakan penghias @Watch
untuk menentukan pemerhati. Penghias ini membolehkan anda menentukan atribut untuk diperhatikan dan kaedah yang akan dipanggil apabila atribut berubah.
Bolehkah saya menggunakan Mixin dalam komponen berasaskan kelas?
Ya, anda boleh menggunakan mixin dalam komponen berasaskan kelas. Anda boleh menentukan Mixin sebagai kelas dan memasukkannya ke dalam komponen anda menggunakan penghias @Mixins
.
Bagaimana menggunakan API kombinasi Vue.js dengan TypeScript?
vue.js kombinasi API berfungsi dengan baik dengan typescript. Anda boleh menentukan data dan fungsi reaktif anda dalam kaedah setup
dan menetapkan jenis untuk menggunakan TypeScript. Ini membolehkan anda memanfaatkan keupayaan menaip statik dan autocomplete statik TypeScript untuk menjadikan kod anda lebih mantap dan mudah dibangunkan.
Atas ialah kandungan terperinci Mula menulis aplikasi vue.js berasaskan kelas dalam typescript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza, masing -masing sesuai untuk senario aplikasi yang berbeza. Java digunakan untuk pembangunan aplikasi perusahaan dan mudah alih yang besar, sementara JavaScript digunakan terutamanya untuk pembangunan laman web.

JavaScriptcommentsareessentialformaintaining,reading,andguidingcodeexecution.1)Single-linecommentsareusedforquickexplanations.2)Multi-linecommentsexplaincomplexlogicorprovidedetaileddocumentation.3)Inlinecommentsclarifyspecificpartsofcode.Bestpractic

Titik berikut harus diperhatikan apabila tarikh pemprosesan dan masa di JavaScript: 1. Terdapat banyak cara untuk membuat objek tarikh. Adalah disyorkan untuk menggunakan rentetan format ISO untuk memastikan keserasian; 2. Dapatkan dan tetapkan maklumat masa boleh diperoleh dan tetapkan kaedah, dan ambil perhatian bahawa bulan bermula dari 0; 3. Tarikh pemformatan secara manual memerlukan rentetan, dan perpustakaan pihak ketiga juga boleh digunakan; 4. Adalah disyorkan untuk menggunakan perpustakaan yang menyokong zon masa, seperti Luxon. Menguasai perkara -perkara utama ini secara berkesan dapat mengelakkan kesilapan yang sama.

PlacingtagsatthebottomofablogpostorwebpageservespracticalpurposesforSEO,userexperience,anddesign.1.IthelpswithSEObyallowingsearchenginestoaccesskeyword-relevanttagswithoutclutteringthemaincontent.2.Itimprovesuserexperiencebykeepingthefocusonthearticl

JavaScriptispreferredforwebdevelopment, whersjavaisbetterforlarge-scalebackendsystemsandandroidapps.1) javascriptexcelsinceleatinginteractiveWebexperienceswithitsdynamicnatureanddommanipulation.2) javaoffersstrongyblectionandobjection

JavascripthassevenfundamentalDatypes: nombor, rentetan, boolean, undefined, null, objek, andsymbol.1) numberuseadouble-precisionformat, bergunaforwidevaluangesbutbecautiouswithfloating-pointarithmetic.2)

Penangkapan dan gelembung acara adalah dua peringkat penyebaran acara di Dom. Tangkap adalah dari lapisan atas ke elemen sasaran, dan gelembung adalah dari elemen sasaran ke lapisan atas. 1. Penangkapan acara dilaksanakan dengan menetapkan parameter useCapture addeventlistener kepada benar; 2. Bubble acara adalah tingkah laku lalai, useCapture ditetapkan kepada palsu atau ditinggalkan; 3. Penyebaran acara boleh digunakan untuk mencegah penyebaran acara; 4. Acara menggelegak menyokong delegasi acara untuk meningkatkan kecekapan pemprosesan kandungan dinamik; 5. Penangkapan boleh digunakan untuk memintas peristiwa terlebih dahulu, seperti pemprosesan pembalakan atau ralat. Memahami kedua -dua fasa ini membantu mengawal masa dan bagaimana JavaScript bertindak balas terhadap operasi pengguna.

Java dan JavaScript adalah bahasa pengaturcaraan yang berbeza. 1.Java adalah bahasa yang ditaip dan disusun secara statik, sesuai untuk aplikasi perusahaan dan sistem besar. 2. JavaScript adalah jenis dinamik dan bahasa yang ditafsirkan, terutamanya digunakan untuk interaksi web dan pembangunan front-end.
