Tulis semula tajuk: Pancarkan peristiwa Vue.js berdasarkan lebar skrin
P粉463291248
P粉463291248 2024-03-28 10:37:34
0
1
444

Saya mendapat kod berikut daripada bar sisi. Apabila mana-mana pautan diklik, saya juga memancarkan acara ke komponen akar dan kemudian memanggil fungsi untuk menyembunyikan bar sisi. Ini berfungsi dengan baik, tetapi sekarang saya mahu acara dipancarkan hanya apabila lebar skrin kurang daripada 768px supaya acara hanya boleh dipancarkan apabila saya mahu fungsi dipanggil.

<div class="side-links">
      <ul>
        <li>
          <router-link @click="$emit('navLinkClicked')" :to="{ name: 'Home' }"
            >Home</router-link
          >
        </li>
        <li>
          <router-link @click="$emit('navLinkClicked')" :to="{ name: 'Blog' }"
            >Blog</router-link
          >
        </li>

        <li>
          <router-link @click="$emit('navLinkClicked')" :to="{ name: 'About' }"
            >About</router-link
          >
        </li>
      </ul>
    </div>

P粉463291248
P粉463291248

membalas semua(1)
P粉216203545

Anda boleh menggunakan window.innerWidth untuk menyemak lebar port pandangan semasa. Walau bagaimanapun, pembolehubah skop global tidak tersedia dalam templat kerana skopnya terhad kepada komponen anda. Anda boleh membuat kaedah pengendali:

sssccc

Atau buat pembolehubah yang dikira untuk menentukan sama ada lebar di bawah ambang:

sssccc

Secara peribadi saya akan memilih pilihan pertama supaya anda hanya perlu menyemaknya sekali.

Dalam Vue 2, ia juga disyorkan untuk menggunakan nama acara kebab-case.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan