在Angular组件中引入外部样式的方法
在angular项目中,如果使用到js封装的一些插件,需要手动引入js文件和css文件,如果在应用入口页直接使用link方式引入的话,会阻塞首屏的加载,甚至会产生冗余的样式表;下面是一种在组件内引用外部样式的方法。
首先介绍Angular的一个枚举类:
enum ViewEncapsulation { Emulated Native None }
ViewEncapsulation 的值是用来指定,在封装Angular组件的时候,如何处理样式和标签之间的关系,默认值是:ViewEncapsulation.Emulated;
用法是:
import { ViewEncapsulation } from "@angular/core";@Component({ templateUrl: "./login.html", styleUrls: ['./login.css','/bootstrap/css/bootstrap.min.css'], encapsulation: ViewEncapsulation.Emulated })
ViewEncapsulation.Emulated
这种方式在封装组件的时候,会给组件分配一个唯一的属性,并将这个属性添加到组件内的每一个标签上,封装后的样式表的选择器中会加上属性选择器,从而形成了一个样式表的作用域,域内样式不会影响外部,但是组件会受到父级样式的影响,如图:
ViewEncapsulation.Native
这种方式把组件封装成一个shadow DOM;
ViewEncapsulation.None
这种方法的样式表为全局的作用域,组件中声明的样式既可以影响到本组件,同时也会影响全局样式表;反过来,该组件收全局样式表的影响。
两种情况:
1、外部样式表作用的标签是静态的(如bootstrap):
直接在组件元数据中引入,使用默认方式:
@Component({ templateUrl: "./login.html", styleUrls: ['./login.css','/bootstrap/css/bootstrap.min.css'] })
2、样式表作用于动态创建的标签(如创建一个富文本编辑器CKEditor,wangEditor等):
因为标签是动态创建的,也就是说打包组件的时候,引入的外部样式表作用的标签尚未存在(代码运行的时候,new一个Editor之后才会创建标签),而打包的时候却给所有选择器都添加了一个属性选择器,因此,动态创建的标签就不会被引入的样式表影响。也就是说新创建的标签不属于组件这个作用域。为了避免这种情况,只能在打包组件的时候,不给这个组件创建作用于:
import { ViewEncapsulation } from "@angular/core";@Component({ templateUrl: "./login.html", styleUrls: ['./login.css','/bootstrap/css/bootstrap.min.css'], encapsulation: ViewEncapsulation.None})
Atas ialah kandungan terperinci 在Angular组件中引入外部样式的方法. 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

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

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











Dalam macOS Sonoma, widget tidak perlu disembunyikan di luar skrin atau dilupakan dalam panel Pusat Pemberitahuan seperti yang dilakukan dalam versi sebelumnya macOS Apple. Sebaliknya, ia boleh diletakkan terus pada desktop Mac anda - ia juga interaktif. Apabila tidak digunakan, widget desktop macOS memudar ke latar belakang dalam gaya monokrom, mengurangkan gangguan dan membolehkan anda menumpukan pada tugas yang sedang dijalankan dalam aplikasi atau tetingkap aktif. Walau bagaimanapun, apabila anda mengklik pada desktop, ia kembali kepada warna penuh. Jika anda lebih suka rupa yang menjemukan dan ingin mengekalkan aspek keseragaman itu pada desktop anda, ada cara untuk menjadikannya kekal. Langkah-langkah berikut menunjukkan cara ia dilakukan. Buka apl Tetapan Sistem

Adakah Excel terus membuang Buku kerja ini mengandungi pautan ke satu atau lebih sumber luaran yang mungkin memaparkan mesej amaran yang tidak selamat semasa membuka buku kerja? Ramai pengguna telah melaporkan bahawa mereka menerima amaran ini apabila mereka membuka fail Excel. Walaupun amaran ini menunjukkan bahawa terdapat pautan yang berpotensi berniat jahat dalam buku kerja, ia mungkin dicetuskan walaupun anda telah menyertakan sumber luaran yang dipercayai Buku kerja ini mengandungi pautan ke satu atau lebih sumber luaran yang berpotensi tidak selamat jika anda membuka Amaran "Buku kerja ini mengandungi pautan ke satu atau lebih sumber luaran yang mungkin tidak selamat" muncul apabila anda membuka fail. Anda boleh mencuba penyelesaian berikut untuk menyelesaikan isu: Semak pautan luaran dalam buku kerja dan alih keluar pautan yang tidak dipercayai. . Gunakan ciri pautan edit

Angular.js ialah platform JavaScript yang boleh diakses secara bebas untuk mencipta aplikasi dinamik. Ia membolehkan anda menyatakan pelbagai aspek aplikasi anda dengan cepat dan jelas dengan memanjangkan sintaks HTML sebagai bahasa templat. Angular.js menyediakan pelbagai alatan untuk membantu anda menulis, mengemas kini dan menguji kod anda. Selain itu, ia menyediakan banyak ciri seperti penghalaan dan pengurusan borang. Panduan ini akan membincangkan cara memasang Angular pada Ubuntu24. Mula-mula, anda perlu memasang Node.js. Node.js ialah persekitaran berjalan JavaScript berdasarkan enjin ChromeV8 yang membolehkan anda menjalankan kod JavaScript pada bahagian pelayan. Untuk berada di Ub

Adakah anda tahu Angular Universal? Ia boleh membantu tapak web menyediakan sokongan SEO yang lebih baik!

Artikel ini akan memberi anda pemahaman yang mendalam tentang pengurus negeri Angular NgRx dan memperkenalkan cara menggunakan NgRx saya harap ia akan membantu anda!

Bagaimana untuk menggunakan monaco-editor dalam sudut? Artikel berikut merekodkan penggunaan monaco-editor dalam sudut yang digunakan dalam perniagaan baru-baru ini. Saya harap ia akan membantu semua orang!

Dengan perkembangan pesat Internet, teknologi pembangunan bahagian hadapan juga sentiasa bertambah baik dan berulang. PHP dan Angular ialah dua teknologi yang digunakan secara meluas dalam pembangunan bahagian hadapan. PHP ialah bahasa skrip sebelah pelayan yang boleh mengendalikan tugas seperti memproses borang, menjana halaman dinamik dan mengurus kebenaran akses. Angular ialah rangka kerja JavaScript yang boleh digunakan untuk membangunkan aplikasi satu halaman dan membina aplikasi web berkomponen. Artikel ini akan memperkenalkan cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan, dan cara menggabungkannya

Pengesahan adalah salah satu bahagian terpenting dalam mana-mana aplikasi web. Tutorial ini membincangkan sistem pengesahan berasaskan token dan cara ia berbeza daripada sistem log masuk tradisional. Pada penghujung tutorial ini, anda akan melihat demo berfungsi sepenuhnya yang ditulis dalam Angular dan Node.js. Sistem Pengesahan Tradisional Sebelum beralih kepada sistem pengesahan berasaskan token, mari kita lihat sistem pengesahan tradisional. Pengguna memberikan nama pengguna dan kata laluan mereka dalam borang log masuk dan klik Log Masuk. Selepas membuat permintaan, sahkan pengguna di bahagian belakang dengan menanyakan pangkalan data. Jika permintaan itu sah, sesi dibuat menggunakan maklumat pengguna yang diperoleh daripada pangkalan data dan maklumat sesi dikembalikan dalam pengepala respons supaya ID sesi disimpan dalam penyemak imbas. Menyediakan akses kepada aplikasi tertakluk kepada
