mata teras
type-of()
, dan unit()
. Fungsi ini boleh digunakan untuk memeriksa jenis dan unit data input, dan ralat akan dibuang jika input tidak memenuhi kriteria yang diharapkan. unitless()
@function
. @return
@error
Teknologi ini amat berguna untuk pasukan yang berkongsi Sass Mixin atau mengekalkan kit starter atau satu set mixin dan fungsi. Pemaju mempunyai dua pilihan apabila menggunakan perpustakaan SASS yang dikongsi: mereka boleh mengganggu satu sama lain melalui e -mel, sembang, ping, atau sebaliknya untuk bantuan dengan bantuan mixin adat, atau menggunakan dokumentasi terperinci yang termasuk pengesahan kod untuk membantu satu sama lain dengan mudah mengecualikan mereka. .
Sahkan nilai tunggal
Mixin dan fungsi mengambil parameter. Jika anda lulus kod kepada pemaju lain di tempat kerja atau menerbitkan perpustakaan sumber terbuka, anda perlu memastikan parameter sepadan dengan niat anda. Fungsi ini berguna untuk mengesahkan pembolehubah dalam parameter.Pastikan pembolehubah wujud:
variable-exists()
variable-exists()
@mixin create-font-size() { @if variable-exists(base-font) { font-size: $base-font; } @else { @error "请定义变量 `$base-font`。"; } @if variable-exists(line-height) { line-height: $line-height; } @else { @error "请定义变量 `$line-height`。"; } } // 开发者的代码 $base-font: 18px; $line-height: 1.5; .element { @include create-font-size; }
Jenis Nilai Semak:
// 你的插件: $base-font: 18px !default; $line-height: 1.5 !default; @mixin create-font-size() { //等等... } // 开发者的代码: $base-font: 16px; p { @include create-font-size(); }
type-of()
. Fungsi ini akan mengembalikan salah satu rentetan berikut:
@mixin create-font-size() { @if variable-exists(base-font) { font-size: $base-font; } @else { @error "请定义变量 `$base-font`。"; } @if variable-exists(line-height) { line-height: $line-height; } @else { @error "请定义变量 `$line-height`。"; } } // 开发者的代码 $base-font: 18px; $line-height: 1.5; .element { @include create-font-size; }
untuk memastikan warna campuran warna hanya memproses warna: type-of()
// 你的插件: $base-font: 18px !default; $line-height: 1.5 !default; @mixin create-font-size() { //等等... } // 开发者的代码: $base-font: 16px; p { @include create-font-size(); }
@mixin size($height, $width: $height) { @if type-of($height) == number { height: $height; } @else { @warn "确保 `$height` 是一个数字。"; } @if type-of($width) == number { width: $width; } @else { @warn "确保 `$width` 是一个数字。"; } }
unit()
untuk mengesahkan bahawa nilai mempunyai unit yang betul. Sebagai contoh, anda mungkin menggunakan mixin untuk membuat dimensi unit piksel dan REM. (unit()
Perhatikan bahawa anda lebih baik menjalankan pakej dengan tugas untuk ini, tetapi jika anda perlu menyimpannya dalam sass, terus membaca. )
@function color-fade($color) { @if type-of($color) == 'color' { @return rgba($color, .8); } @else { @warn "确保你将有效的颜色传递给 color-fade() 函数。"; } }
Sahkan senarai dan peta
kita telah melihat cara menggunakan untuk memastikan bahawa pembolehubah mengandungi senarai atau peta. Kami juga boleh menguji dua perkara penting: sama ada nilai -nilai dalam senarai, dan sama ada kunci berada dalam peta. type-of()
index()
Fungsi akan memberitahu anda sama ada nilai itu terdapat dalam senarai. Secara teknikal, ia akan mengembalikan kedudukan nilai dalam senarai (nombor) atau null. Ia bukan fungsi Boolean yang benar, tetapi untuk tujuan kita di sini, nilai -nilai yang benar dan palsu adalah mencukupi. index()
Fungsi ini mengambil dua parameter: senarai dan nilai yang anda ingin cari dalam senarai. Fungsi ini berguna untuk menguji pengukuran nilai -nilai tertentu dalam mixin. Jika kita mempunyai campuran yang mengeluarkan padding atau pengiraan margin menggunakan CSS, kanan, bawah, bawah, atau kiri, kita ingin memastikan kita tidak cuba mengira nilai -nilai seperti permulaan, mewarisi, atau auto. index()
@mixin generate-theme($settings) { @if type-of($settings) == 'map' { // 此处输出 } @else { @warn "确保 `$settings` 是一个 Sass 映射。"; } }
map-has-key()
untuk memastikan bahawa kunci wujud dalam peta yang anda periksa. Ini akan sangat berguna jika anda menggunakan map-has-key()
pemetaan dan pertanyaan media mixin: $breakpoints
$rem-size: 16px !default; @mixin px-rem($property, $value) { @if unit($value) == 'px' { #{$property}: $value; #{$property}: $value / $rem-size * 1rem; } @elseif unit($value) == 'rem' { #{$property}: $value * $rem-size / 1rem; #{$property}: $value; } @else { @warn "确保 `$value` 以 px 或 rem 为单位。"; } }
Sahkan mixin dan fungsi
Kadang -kadang anda akan menulis mixin atau fungsi yang bergantung kepada campuran atau fungsi yang sedia ada atau perpustakaan SASS yang lain. Mari kita kemas kini mixin dari contoh sebelumnya untuk bergantung pada perpustakaan Sass Breakpoint. Kita boleh memanjangkannya seperti ini: bp()
$rem-size: 16px !default; @mixin margin-rem($values...) { $output: (); @each $value in $values { @if index(auto inherit initial 0, $value) { $output: append($output, $value); } @else { $output: append($output, $value / $rem-size * 1rem); } } margin: #{$output}; }
mixin (lebih pendek dan menggunakan nilai dipetakan) akan menggunakan bp()
mixin apabila ia wujud. Jika tidak, ia akan kembali ke kod Mixin pertanyaan media kami sendiri. breakpoint()
Terdapat fungsi sepadan yang dipanggil function-exists()
. Anda boleh menggunakannya untuk menguji sama ada fungsi tertentu wujud. Jika anda mempunyai operasi matematik yang bergantung kepada fungsi yang tidak standard, anda boleh pastikan untuk memasukkan perpustakaan yang mengandungi fungsi. Kompas menambah fungsi pow()
untuk matematik eksponen. Jika anda mencipta nisbah saiz fon yang memerlukan fungsi, uji:
@mixin create-font-size() { @if variable-exists(base-font) { font-size: $base-font; } @else { @error "请定义变量 `$base-font`。"; } @if variable-exists(line-height) { line-height: $line-height; } @else { @error "请定义变量 `$line-height`。"; } } // 开发者的代码 $base-font: 18px; $line-height: 1.5; .element { @include create-font-size; }
Soalan pelaporan: @warn
dan @error
. Arahan ini menghantar mesej ke konsol pemaju, tetapi membolehkan pengkompil menyelesaikan larian. @warn
untuk menghantar mesej ke konsol dan menghentikan pengkompil. @error
3
@warn
Kesimpulan @error
tidak ada yang sempurna -mereka yang menggunakan kod kami tidak, dan bahkan diri kita sendiri selepas kami menulis kod kami selama beberapa jam! Inilah sebabnya sangat penting untuk membantu diri kita sendiri dan orang lain dengan mengesahkan input dalam mixin dan fungsi. Teknik -teknik ini bukan sahaja membantu anda menggunakan kod anda sendiri dengan lebih cekap, tetapi juga memudahkan pasukan untuk berkongsi dan mengekalkan perpustakaan SASS. Bagaimana anda menghalang kesilapan dalam SASS? Tolong beritahu kami dalam komen!
FAQs (FAQ) pada Mengesahkan Input dalam Sass Mixin dan Fungsi
Apakah tujuan mengesahkan input dalam sass mixin dan fungsi? Mengesahkan input dalam sass mixin dan fungsi adalah penting untuk mengekalkan integriti dan fungsi kod. Ia membantu memastikan bahawa jenis data yang diluluskan kepada mixin dan fungsi adalah betul dan mematuhi format yang diharapkan. Ini menghalang kesilapan dan pepijat dalam kod, menjadikannya lebih kuat dan boleh dipercayai. Ia juga menjadikan kod anda lebih mudah untuk debug dan mengekalkan, kerana anda dapat dengan cepat mengenal pasti dan membetulkan sebarang masalah dalam data input.
SASS menyediakan beberapa fungsi terbina dalam yang boleh anda gunakan untuk mengesahkan input dalam mixin dan fungsi. Ini termasuk
, untuk memeriksa sama ada input adalah nombor, dan jika tidak, ralat akan dibuang. type-of()
Ya, anda boleh membuat fungsi pengesahan tersuai dalam SASS. Ini sangat berguna jika anda perlu melakukan pemeriksaan pengesahan yang lebih kompleks yang tidak dapat dilaksanakan menggunakan fungsi terbina dalam. Untuk membuat fungsi pengesahan tersuai, hanya tentukan fungsi baru menggunakan arahan @function
, dan kemudian gunakan arahan @return
untuk mengembalikan nilai berdasarkan pemeriksaan pengesahan.
Jika pengesahan input dalam sass mixin atau fungsi gagal, ralat akan dibuang dan penyusunan kod SASS akan berhenti. Ini dapat membantu anda dengan cepat mengenal pasti dan membetulkan sebarang masalah dalam data input dan mencegah pepijat dan kesilapan dalam output CSS akhir.
SASS menyediakan arahan @error
, yang boleh anda gunakan untuk membuang mesej ralat tersuai apabila pengesahan input gagal. Ini amat berguna untuk menyahpepijat, kerana anda dapat memberikan maklumat terperinci tentang sifat kesilapan dan bagaimana untuk memperbaikinya.
Ya, fungsi introspeksi SASS boleh digunakan untuk pengesahan input. Fungsi -fungsi ini membolehkan anda menyemak jenis, unit, dan sifat lain dari data input, dan boleh digunakan bersamaan dengan arahan @error
, yang boleh membuang mesej ralat tersuai apabila input tidak memenuhi kriteria yang diharapkan.
Sahkan bahawa input boleh digunakan dalam pelbagai senario dalam sass mixin dan fungsi. Sebagai contoh, anda mungkin ingin memastikan bahawa nilai warna yang diluluskan ke mixin adalah warna yang sah, atau nombor yang dihantar ke fungsi mempunyai unit yang betul. Pengesahan input juga boleh digunakan untuk menguatkuasakan kekangan atau peraturan tertentu dalam kod, seperti memastikan bahawa parameter tertentu sentiasa disediakan, atau nilai berada dalam julat tertentu.
Ya, anda boleh menggunakan fungsi mixin-exists()
untuk menguji sama ada campuran itu wujud dalam sass. Jika mixin wujud, fungsi ini kembali benar, jika tidak palsu. Ini sangat berguna untuk mencegah kesilapan dalam kod anda, seperti yang anda boleh periksa sama ada Mixin wujud sebelum cuba memasukkannya.
unit()
untuk pengesahan input dalam sass? dalam unit()
dalam SASS mengembalikan unit nombor. Anda boleh menggunakan fungsi ini dalam pengesahan input untuk memeriksa sama ada nombor mempunyai unit yang betul. Sebagai contoh, anda mungkin ingin memastikan bahawa nilai panjang yang diluluskan ke mixin berada dalam piksel, atau nilai masa yang diluluskan kepada fungsi dalam beberapa saat.
Beberapa amalan terbaik untuk mengesahkan input dalam mixin dan fungsi SASS termasuk: Sentiasa mengesahkan data input; Mesej ralat; dan menguji kod anda dengan teliti untuk memastikan pemeriksaan pengesahan berfungsi dengan baik. @error
Atas ialah kandungan terperinci Mengesahkan Input dalam Sass Mixins dan Fungsi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!