Untuk membuat kotak timbul dengan ketinggian berubah-ubah, ia perlu diposisikan Kotak timbul mungkin timbul di bahagian bawah atau di kepala, tetapi kerana kandungannya berubah-ubah, ketinggiannya perlu dikira untuk ditunjukkan. sama ada ia muncul ke atas atau ke bawah , pada masa ini cara mendapatkan ketinggiannya dalam komponen
Pendekatan semasa saya ialah menggunakan classname
dalam created()
untuk mendapatkan p komponen. . Walau bagaimanapun, memandangkan nilai awal dalam data( )
lalai ketinggian komponen kepada 0 dan menukar ketinggian dalam data()
dalam dicipta kod>, tetapi tidak mendapat p
created()
中使用classname
得到组件的p但由于初始在data()
中将组件高度默认了0,
在created
中改变data()
let cur = document.querySelectorAll("p[class='Pop-Over']");
console.log(cur);
let curHeight = cur.height;
console.log(curHeight);
}
Hasil cetakan curHeight tidak dapat ditentukan, sila cari penyelesaian
elemen.
offsetHeight
// Dalam vue, sila gunakan ref untuk mendapatkan DOM sebenar
// Dipanggil dalam cangkuk yang dipasang, yang dicetuskan selepas DOM diberikan
dicipta cangkuk Nod dom belum dimasukkan ke dalam halaman lagi. Ia perlu dipanggil dalam fungsi cangkuk yang dipasang
.Dan untuk mendapatkan ketinggian elemen, gunakan dom.clientHeight, atau dom.getBoundingClientRect().height
@林小信 Memandangkan saya menggunakan v-if semasa membuat panggilan, ia akan dibuat setiap kali ia ditetapkan kepada benar, jadi ia boleh diletakkan di dalam create, tetapi anda juga memberitahu saya tentang nextTick ia cara anda.
Pada masa ini, kerana lapisan paling luar p tidak mempunyai ketinggian, ia hanya boleh diperolehi dengan menambah ketinggian sub-p untuk menjadi ketinggiannya. Mungkin saya tidak mengambil kira perkara ini semasa menulis komponen.
ini.$nextTick(() => {
// console.log(cur);
// console.log(typeof item.clientHeight);
Jika tiada jawapan yang lebih baik, saya akan menerima jawapan anda
Dapatkan saiz sebenar .clientWidth dan .clientHeight
Tiada kaedah pemerolehan seperti .height, jadi ia tidak ditentukan