Jadual Kandungan
Apakah itu penghias?
Penggunaan penghias
Menggunakan penghias dalam js
Tidak menggunakan penghias
Menggunakan penghias dalam vue
Ringkasan
Akhir sekali
Rumah hujung hadapan web View.js Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?

Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?

Jan 26, 2022 pm 06:06 PM
vue Penghias

Apakah itu penghias? Artikel ini akan membawa anda memahami penghias dan memperkenalkan secara ringkas cara menggunakan penghias dalam js dan vue saya harap ia akan membantu anda.

Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?

Saya percaya bahawa anda mesti menghadapi keperluan untuk pengesahan pop timbul sekunder semasa pembangunan. Sama ada anda menggunakan komponen pop timbul sekunder rangka kerja UI atau komponen pop timbul terkapsul anda sendiri. Kesemua mereka tidak dapat mengelakkan masalah sejumlah besar kod berulang apabila digunakan beberapa kali. Pengumpulan kod ini mengakibatkan kebolehbacaan projek yang lemah. Kualiti kod projek juga menjadi sangat teruk. Jadi bagaimana kita menyelesaikan masalah kod timbul pendua? Menggunakan Penghias

Apakah itu penghias?

Decorator ialah sintaks baharu untuk ES7. DecoratorDengan mengubah suai kelas, objek, kaedah dan sifat. Tambahkan beberapa tingkah laku tambahan kepadanya. Dalam istilah orang awam: ia adalah pembungkusan sekunder sekeping kod.

Penggunaan penghias

Kaedah penggunaannya sangat mudah. ​​Kami mentakrifkan fungsi

const  decorator =  (target, name, descriptor) => {
 var oldValue = descriptor.value;
 descriptor.value = function(){
    alert('哈哈')
    return oldValue.apply(this,agruments)
       }
  return descriptor
}
// 然后直接@decorator到函数、类或者对象上即可。
Salin selepas log masuk

Tujuan penghias adalah untuk menggunakan semula kod. Mari kita ambil contoh kecil untuk melihat

Menggunakan penghias dalam js

//定义一个装饰器 
const log = (target, name, descriptor) => {
  var oldValue = descriptor.value;
  descriptor.value = function() {
    console.log(`Calling ${name} with`, arguments);
    return oldValue.apply(this, arguments);
  };
  return descriptor;
}
   //计算类
  class Calculate {  
 
  //使用装饰器
  @log() 
  function  subtraction(a,b){
     return  a - b
   }
 }
 
 const operate  = new Calculate()
  operate.subtraction(5,2)
Salin selepas log masuk

Tidak menggunakan penghias

const log = (func) => {
  if(typeof(func) !== 'function') {
    throw new Error(`the param must be a function`);
  }
  return (...arguments) => {
    console.info(`${func.name} invoke with ${arguments.join(',')}`);
    func(...arguments);
  }
}

const subtraction = (a, b) => a + b;

const subtractionLog = log(subtraction);

subtractionLog(10,3);
Salin selepas log masuk

Dalam perbandingan ini, anda akan mendapati bahawa menggunakan penghias The kebolehbacaan kod di belakang pengkompil telah menjadi lebih kuat. Penghias tidak mengambil berat tentang pelaksanaan kod dalaman anda.

Menggunakan penghias dalam vue

Jika projek anda dibina dengan vue-cli dan versi vue-cli lebih besar daripada 2.5, anda boleh menggunakannya tanpa sebarang konfigurasi. Jika projek anda juga mengandungi eslit, maka anda perlu mendayakan sokongan untuk pengesanan sintaks berkaitan penghias dalam eslit. [Cadangan berkaitan: tutorial video vue.js]

//在 eslintignore中添加或者修改如下代码:
parserOptions: {
    ecmaFeatures:{
      // 支持装饰器
      legacyDecorators: true
    }
  }
Salin selepas log masuk

Selepas menambahkan kod ini, eslit akan menyokong sintaks penghias.

Biasanya dalam projek kami sering menggunakan kotak pop timbul sekunder untuk operasi pemadaman:

//decorator.js
//假设项目中已经安装了 element-ui
import { MessageBox, Message } from 'element-ui'
/**
 * 确认框
 * @param {String} title - 标题
 * @param {String} content - 内容
 * @param {String} confirmButtonText - 确认按钮名称
 * @param {Function} callback - 确认按钮名称
 * @returns
   **/
export function confirm(title, content, confirmButtonText = '确定') {
  return function(target, name, descriptor) {
    const originValue = descriptor.value
    descriptor.value = function(...args) {
      MessageBox.confirm(content, title, {
        dangerouslyUseHTMLString: true,
        distinguishCancelAndClose: true,
        confirmButtonText: confirmButtonText
      }).then(originValue.bind(this, ...args)).catch(error => {
        if (error === 'close' || error === 'cancel') {
          Message.info('用户取消操作'))
        } else {
          Message.info(error)
        }
      })
    }
    return descriptor
  }
}
Salin selepas log masuk

Kod di atas dalam kaedah pengesahan melaksanakan komponen MessageBox dalam elemen-ui apabila pengguna Apabila membatalkan, komponen Message akan menggesa pengguna untuk membatalkan operasi.

Kami menghiasi kaedah test() dengan penghias

import { confirm } from '@/util/decorator'
import axios form 'axios'
export default {
name:'test',
data(){
return {
  delList: '/merchant/storeList/commitStore'
    }
  }
},
methods:{
 @confirm('删除门店','请确认是否删除门店?')
  test(id){
   const {res,data} = axios.post(this.delList,{id})
   if(res.rspCd + '' === '00000') this.$message.info('操作成功!')
  }
}
Salin selepas log masuk

Pada masa ini, pengguna mengklik pada kedai untuk memadamkannya. Penghias akan berfungsi. Pop timbul adalah seperti yang ditunjukkan di bawah:

Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?

Apabila saya mengklik batal:

Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?

petua: The pengguna membatalkan Operasi Kaedah ujian yang diubah suai tidak akan melaksanakan .

Apabila kita klik OK:

Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?

Antara muka dipanggil dan mesej muncul

Ringkasan

Penghias digunakan Untuk membungkus semula sekeping kod. Tambahkan beberapa operasi tingkah laku dan atribut pada kod. Menggunakan penghias boleh mengurangkan pertindihan kod dengan banyak. Tingkatkan kebolehbacaan kod.

Akhir sekali

Sekiranya ada kekurangan dalam artikel tersebut, sila tegur dan tunjuk.

Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !

Atas ialah kandungan terperinci Analisis ringkas tentang apa itu penghias? Bagaimana untuk menggunakan penghias dalam Vue?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara menambah fungsi ke butang untuk vue Cara menambah fungsi ke butang untuk vue Apr 08, 2025 am 08:51 AM

Anda boleh menambah fungsi ke butang VUE dengan mengikat butang dalam templat HTML ke kaedah. Tentukan kaedah dan tulis logik fungsi dalam contoh Vue.

Cara Menggunakan Watch di Vue Cara Menggunakan Watch di Vue Apr 07, 2025 pm 11:36 PM

Pilihan Watch di Vue.js membolehkan pemaju mendengar perubahan dalam data tertentu. Apabila data berubah, tontonkan mencetuskan fungsi panggil balik untuk melakukan paparan kemas kini atau tugas lain. Pilihan konfigurasinya termasuk segera, yang menentukan sama ada untuk melaksanakan panggilan balik dengan serta -merta, dan mendalam, yang menentukan sama ada untuk mendengarkan secara rekursif terhadap objek atau tatasusunan.

Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apakah yang dimaksudkan dengan pembangunan Vue Multi-Page? Apr 07, 2025 pm 11:57 PM

Pembangunan pelbagai halaman Vue adalah cara untuk membina aplikasi menggunakan rangka kerja VUE.JS, di mana permohonan dibahagikan kepada halaman berasingan: Penyelenggaraan kod: Memisahkan aplikasi ke dalam beberapa halaman boleh menjadikan kod lebih mudah untuk dikendalikan dan diselenggarakan. Modularity: Setiap halaman boleh digunakan sebagai modul yang berasingan untuk penggunaan semula dan penggantian mudah. Routing mudah: Navigasi antara halaman boleh diuruskan melalui konfigurasi penghalaan mudah. Pengoptimuman SEO: Setiap halaman mempunyai URL sendiri, yang membantu SEO.

Cara merujuk fail js dengan vue.js Cara merujuk fail js dengan vue.js Apr 07, 2025 pm 11:27 PM

Terdapat tiga cara untuk merujuk kepada fail JS dalam vue.js: Secara langsung tentukan jalan menggunakan & lt; skrip & gt; tag ;; import dinamik menggunakan cangkuk kitaran hayat yang dipasang (); dan mengimport melalui Perpustakaan Pengurusan Negeri VUEX.

Cara kembali ke halaman sebelumnya oleh Vue Cara kembali ke halaman sebelumnya oleh Vue Apr 07, 2025 pm 11:30 PM

Vue.js mempunyai empat kaedah untuk kembali ke halaman sebelumnya: $ router.go (-1) $ router.back () menggunakan & lt; router-link to = & quot;/& quot; Komponen Window.History.Back (), dan pemilihan kaedah bergantung pada tempat kejadian.

Cara Menggunakan Vue Traversal Cara Menggunakan Vue Traversal Apr 07, 2025 pm 11:48 PM

Terdapat tiga kaedah umum untuk vue.js untuk melintasi tatasusunan dan objek: Arahan V-untuk digunakan untuk melintasi setiap elemen dan membuat templat; Arahan V-mengikat boleh digunakan dengan V-untuk menetapkan nilai atribut secara dinamik untuk setiap elemen; dan kaedah .map boleh menukar elemen array ke dalam tatasusunan baru.

Cara melompat ke Div Vue Cara melompat ke Div Vue Apr 08, 2025 am 09:18 AM

Terdapat dua cara untuk melompat elemen div di Vue: Gunakan Vue Router dan tambahkan komponen router-link. Tambah pendengar acara @Click dan panggil ini. $ Router.push () kaedah untuk melompat.

See all articles