


Ambil perhatian bahawa gula sintaksis reaktif Vue telah ditamatkan!
Artikel ini membawakan anda situasi terkini tentang Vue terutamanya mengenai sintaks gula dalam Vue. Rakan-rakan yang berminat boleh melihatnya.
Pengenalan
Sejak pengenalan konsep komposisi API, masalah utama yang tidak dapat diselesaikan ialah ref
dan reactive
Yang mana satu untuk digunakan? reactive
mempunyai masalah kehilangan responsif dengan pemusnahan, manakala ref
perlu digunakan di mana-mana .value
terasa menyusahkan dan mudah terlepas tanpa bantuan sistem jenis. .value
<template> <button @click="increment">{{ count }}</button> </template>
untuk mentakrifkan ref
pembolehubah dan count
kaedah: increment
let count = ref(0) function increment() { count.value++ }
let count = $ref(0) function increment() { count++ }
- gula sintaks responsif Vue ialah langkah penukaran masa kompilasi dan kaedah
- ialah
$ref()
perintah makro masa kompilasi , ia bukan kaedah sebenar yang akan dipanggil semasa runtime, tetapi digunakan sebagai penanda untuk pengkompil Vue untuk menunjukkan bahawa pembolehubah akhir perlu menjadicount
pembolehubah reaktif. Pembolehubah reaktif boleh diakses dan ditetapkan semula seperti pembolehubah biasa, tetapi operasi ini akan menjadi - dengan
.value
selepas penyusunan. Jadi kod dalam contoh di atas juga akan disusun ke dalam sintaks yang ditakrifkan menggunakanref
.ref
Setiap API reaktif yang mengembalikan - mempunyai fungsi makro yang sepadan yang diawali dengan
ref
. Termasuk API berikut:$
- ref -> $ref
- dikira ->
- customRef -> $customRef
- toRef -> $toRef
- Anda boleh menggunakan makro untuk menukar
-
$()
ref
Anda boleh menggunakan makro
const a = ref(0) let count = $(a) count++ console.log(a.value) // 1
-
$$()
ref
juga berfungsi dengan
let count = $ref(0) console.log(isRef($$(count))) // true
$$()
props
KonfigurasitoRef
const { count } = defineProps<{ count: number }>() passAsRef($$(count))
dan mesti diluluskan Build penggunaan langkah.
Diperlukan, diperlukan , akan digunakan pada fail SFC dan js(x)/ts(x).
@vitejs/plugin-vue@>=2.0.0
Perhatikan bahawa
// vite.config.js export default { plugins: [ vue({ reactivityTransform: true }) ] }
-
reactivityTransform
Jika ia adalah binaanscript.refSugar
, diperlukan pada masa ini hanya untuk SFC.
vue-cli
Jika ia vue-loader@>=17.0.0
+
// vue.config.js module.exports = { chainWebpack: (config) => { config.module .rule('vue') .use('vue-loader') .tap((options) => { return { ...options, reactivityTransform: true } }) } }
webpack
vue-loader
vue-loader@>=17.0.0
Pilihan, tambah kod berikut pada fail
// webpack.config.js module.exports = { module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: { reactivityTransform: true } } ] } }
-
tsconfig.json
TS2304: Cannot find name '$ref'.
Pilihan, tambahkan kod berikut pada fail
"compilerOptions":{ "types": ["vue/ref-macros"] }
-
eslintrc.cjs
ESLint: '$ref' is not defined.(no-undef)
Apabila gula sintaks responsif didayakan, fungsi Makro ini tersedia secara global dan tidak perlu diimport secara manual. Anda juga boleh memperkenalkan
module.exports = { ...globals: { $ref: "readonly", $computed: "readonly", $shallowRef: "readonly", $customRef: "readonly", $toRef: "readonly", } };
- dalam langkah kedua dan ketiga.
-
vue/macros
tsconfig.json
eslintrc
Ciri Eksperimen Ditamatkan
import { $ref } from 'vue/macros' let count = $ref(0)
Gula sintaks responsif pernah menjadi ciri percubaan dan telah ditamatkan, sila baca
Sebab pengabaian- .
-
Ia akan dialih keluar daripada teras Vue dalam kemas kini versi kecil akan datang. Jika anda ingin terus menggunakannya, sila gunakan pemalam
Vue Macros . - Anda Yuxi secara peribadi memberikan alamat yang ditinggalkan 2 minggu lalu (21 Februari 2023, 10:05 pagi GMT+8) Sebabnya, diterjemahkan ialah seperti berikut:
Seperti yang anda sedia maklum, kami secara rasmi meninggalkan RFC ini atas persetujuan pasukan.
SebabMatlamat asal Transformasi Kereaktifan adalah untuk meningkatkan pengalaman pembangun dengan menyediakan sintaks yang lebih bersih apabila menangani keadaan reaktif. Kami mengeluarkannya sebagai produk percubaan untuk mengumpulkan maklum balas daripada penggunaan dunia sebenar. Walaupun faedah yang dicadangkan ini, kami menemui isu berikut:
Kehilangan
.value
menjadikannya lebih sukar untuk mengetahui perkara yang dijejaki dan garisan mana yang mencetuskan kesan reaktif. Masalah ini kurang jelas dalam SFC kecil, tetapi dalam asas kod besar, overhed mental menjadi lebih jelas, terutamanya jika sintaks juga digunakan di luar SFC .Disebabkan (1), sesetengah pengguna memilih untuk menggunakan Reactivity Transform dalam SFC sahaja, yang mewujudkan ketidakkonsistenan dan kos penukaran konteks antara model mental yang berbeza. Jadi dilemanya ialah menggunakannya hanya di dalam SFC akan membawa kepada ketidakkonsistenan, tetapi menggunakannya di luar SFC akan menjejaskan kebolehselenggaraan.
Memandangkan masih terdapat fungsi luaran yang dijangka menggunakan rujukan mentah, penukaran antara pembolehubah reaktif dan rujukan mentah tidak dapat dielakkan. Ini akhirnya menambah lebih banyak kandungan pembelajaran dan beban mental tambahan, yang kami perhatikan lebih mengelirukan untuk pemula daripada API Komposisi biasa.
Paling penting, potensi risiko pemecahan. Walaupun ini adalah ikut serta secara eksplisit, sesetengah pengguna telah menyatakan bantahan keras terhadap cadangan itu kerana kebimbangan bahawa mereka perlu bekerja dengan asas kod yang berbeza di mana sesetengah pengguna telah memilih untuk menggunakannya dan yang lain Tidak. Ini adalah kebimbangan yang sah kerana Transformasi Kereaktifan memerlukan model mental yang berbeza dan memesongkan semantik JavaScript (tugasan pembolehubah boleh mencetuskan kesan reaktif).
Semua perkara yang dipertimbangkan, kami merasakan bahawa menggunakan ciri ini sebagai ciri yang stabil akan menyebabkan lebih banyak masalah daripada faedah dan oleh itu bukan pertukaran yang baik.
Rancangan Migrasi
- Ciri ini sudah disokong sebagai pakej luaran melalui Vue Macros.
- 3.3: Ciri ini akan ditandakan sebagai tidak digunakan lagi. Ia akan terus berfungsi, tetapi anda harus berhijrah ke Vue Macros sementara itu.
- 3.4: Ciri ini akan dialih keluar daripada teras dan tidak akan berfungsi lagi melainkan menggunakan Makro Vue.
Tinggalkan komen
- Walaupun Reactivity Transform akan dialih keluar daripada pakej rasmi, saya rasa ia adalah satu percubaan yang baik.
- Ditulis dengan baik. Saya suka RFC terperinci dan penilaian objektif berdasarkan maklum balas pengguna. Kesimpulan akhir masuk akal. Jangan biarkan yang sempurna menjadi musuh kebaikan.
- Sementara saya menikmati kemudahan ciri ini, saya mendapati isu pemecahan yang berpotensi ini dalam penggunaan sebenar. Mungkin terdapat keengganan untuk mengalih keluar ciri ini dalam keluaran akan datang, tetapi jurutera harus mengambil serius. ?
- Adakah anda mengalih keluar semua ciri atau hanya ciri yang
ref.value
melakukan penukaran? Bagaimana pula dengan penyahbinaanprops
responsif, adakah ia di sini untuk kekal? - Saya telah menggunakannya untuk tapak web e-dagang bersaiz sederhana tanpa sebarang masalah. Saya faham rasional di sebalik mengalih keluarnya, tetapi dalam praktiknya saya mendapati ia merupakan peningkatan yang sangat besar. Jadi soalan saya ialah: apa sekarang?
- Adakah anda mengesyorkan agar orang yang membenci
.value
kini mengelak daripada menggunakanref()
jika boleh dan menggunakanreactive()
seperti sebelum ini? -
.value
adalah kerumitan yang diperlukan. Sama seperti perpustakaan reaktif lainxxx.set()
. - Sepatutnya mudah untuk membuat pakej yang mengubah semua kod Transformasi Kereaktifan, bukan? Saya juga suka melakukan sesuatu dengan cara yang disyorkan.
...
Pembelajaran yang disyorkan: "tutorial video vue.js"
Atas ialah kandungan terperinci Ambil perhatian bahawa gula sintaksis reaktif Vue telah ditamatkan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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

Kemahiran pembangunan Vue3+TS+Vite: Cara melakukan pengoptimuman SEO SEO (SearchEngineOptimization) merujuk kepada mengoptimumkan struktur, kandungan dan kata kunci tapak web untuk meletakkannya lebih tinggi dalam enjin carian, dengan itu meningkatkan trafik dan pendedahan tapak web . Dalam pembangunan teknologi hadapan moden seperti Vue3+TS+Vite, cara mengoptimumkan SEO adalah isu yang sangat penting. Artikel ini akan memperkenalkan beberapa teknik dan kaedah pembangunan Vue3+TS+Vite untuk membantu

Petua pembangunan Vue3+TS+Vite: Cara menyulitkan dan menyimpan data Dengan perkembangan pesat teknologi Internet, keselamatan data dan perlindungan privasi menjadi semakin penting. Dalam persekitaran pembangunan Vue3+TS+Vite, cara menyulitkan dan menyimpan data adalah masalah yang perlu dihadapi oleh setiap pembangun. Artikel ini akan memperkenalkan beberapa teknik penyulitan dan storan data biasa untuk membantu pembangun meningkatkan keselamatan aplikasi dan pengalaman pengguna. 1. Penyulitan Data Penyulitan Data Bahagian Hadapan Penyulitan Bahagian Hadapan ialah bahagian penting dalam melindungi keselamatan data. Biasa digunakan

Kemahiran pembangunan Vue3+TS+Vite: Cara mengoptimumkan permintaan merentas domain dan permintaan rangkaian Pengenalan: Dalam pembangunan bahagian hadapan, permintaan rangkaian adalah operasi yang sangat biasa. Cara mengoptimumkan permintaan rangkaian untuk meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna ialah salah satu isu yang perlu difikirkan oleh pembangun kami. Pada masa yang sama, untuk beberapa senario yang memerlukan penghantaran permintaan kepada nama domain yang berbeza, kami perlu menyelesaikan isu merentas domain. Artikel ini akan memperkenalkan cara membuat permintaan merentas domain dan teknik pengoptimuman permintaan rangkaian dalam persekitaran pembangunan Vue3+TS+Vite. 1. Penyelesaian permintaan merentas domain

Kemahiran pembangunan Vue3+TS+Vite: Cara melaksanakan perlindungan keselamatan bahagian hadapan Dengan pembangunan berterusan teknologi bahagian hadapan, semakin banyak syarikat dan individu mula menggunakan Vue3+TS+Vite untuk pembangunan bahagian hadapan. Walau bagaimanapun, risiko keselamatan yang datang dengannya juga telah menarik perhatian orang ramai. Dalam artikel ini, kami akan membincangkan beberapa isu keselamatan bahagian hadapan biasa dan berkongsi beberapa petua tentang cara melindungi keselamatan bahagian hadapan semasa proses pembangunan Vue3+TS+Vite. Pengesahan input Input pengguna selalunya merupakan salah satu sumber utama kelemahan keselamatan bahagian hadapan. wujud

PHP dan Vue: gandingan sempurna alat pembangunan bahagian hadapan Dalam era perkembangan pesat Internet hari ini, pembangunan bahagian hadapan telah menjadi semakin penting. Memandangkan pengguna mempunyai keperluan yang lebih tinggi dan lebih tinggi untuk pengalaman tapak web dan aplikasi, pembangun bahagian hadapan perlu menggunakan alat yang lebih cekap dan fleksibel untuk mencipta antara muka yang responsif dan interaktif. Sebagai dua teknologi penting dalam bidang pembangunan bahagian hadapan, PHP dan Vue.js boleh dianggap sebagai alat yang sempurna apabila digandingkan bersama. Artikel ini akan meneroka gabungan PHP dan Vue, serta contoh kod terperinci untuk membantu pembaca memahami dan menggunakan kedua-dua ini dengan lebih baik.

Dalam temu bual pembangunan bahagian hadapan, soalan lazim merangkumi pelbagai topik, termasuk asas HTML/CSS, asas JavaScript, rangka kerja dan perpustakaan, pengalaman projek, algoritma dan struktur data, pengoptimuman prestasi, permintaan merentas domain, kejuruteraan bahagian hadapan, corak reka bentuk, dan teknologi dan trend baharu. Soalan penemuduga direka bentuk untuk menilai kemahiran teknikal calon, pengalaman projek dan pemahaman tentang trend industri. Oleh itu, calon harus bersedia sepenuhnya dalam bidang ini untuk menunjukkan kebolehan dan kepakaran mereka.

Django ialah rangka kerja aplikasi web yang ditulis dalam Python yang menekankan pembangunan pesat dan kaedah bersih. Walaupun Django ialah rangka kerja web, untuk menjawab soalan sama ada Django ialah front-end atau back-end, anda perlu mempunyai pemahaman yang mendalam tentang konsep front-end dan back-end. Bahagian hadapan merujuk kepada antara muka yang pengguna berinteraksi secara langsung, dan bahagian belakang merujuk kepada program bahagian pelayan Mereka berinteraksi dengan data melalui protokol HTTP. Apabila bahagian hadapan dan bahagian belakang dipisahkan, program bahagian hadapan dan bahagian belakang boleh dibangunkan secara bebas untuk melaksanakan logik perniagaan dan kesan interaktif masing-masing, dan pertukaran data.

Sebagai pembangun C#, kerja pembangunan kami biasanya merangkumi pembangunan bahagian hadapan dan bahagian belakang Apabila teknologi berkembang dan kerumitan projek meningkat, pembangunan kolaboratif bahagian hadapan dan bahagian belakang menjadi semakin penting dan kompleks. Artikel ini akan berkongsi beberapa teknik pembangunan kolaboratif bahagian hadapan dan belakang untuk membantu pembangun C# menyelesaikan kerja pembangunan dengan lebih cekap. Selepas menentukan spesifikasi antara muka, pembangunan kolaboratif bahagian hadapan dan belakang tidak dapat dipisahkan daripada interaksi antara muka API. Untuk memastikan pembangunan kolaboratif bahagian hadapan dan belakang yang lancar, perkara yang paling penting ialah menentukan spesifikasi antara muka yang baik. Spesifikasi antara muka melibatkan nama antara muka
