Jadual Kandungan
Mengenai CLI Sudut
Mengenai kompilasi sudut, perbezaan antara AOT dan JIT" >Mengenai kompilasi sudut, perbezaan antara AOT dan JIT
Ikatan dua hala sudut
Tiga cara pengikatan data sudut
Mengenai Modul sudut
Apakah Arahan
Perbezaan antara Promise dan Observable
Jika anda meningkatkan prestasi Angular
Cara menaik taraf versi Angular
Rumah hujung hadapan web tutorial js Kompilasi soalan temu bual Angular8: analisis mata pengetahuan asas

Kompilasi soalan temu bual Angular8: analisis mata pengetahuan asas

Feb 15, 2022 am 10:58 AM
angular Soalan temu bual

Artikel ini akan berkongsi dengan anda beberapa soalan temu bual berdasarkan Angular8, dan memberi anda pemahaman yang mendalam tentang mata pengetahuan asas Angular8. Saya harap ia akan membantu anda.

Kompilasi soalan temu bual Angular8: analisis mata pengetahuan asas

Cadangan berkaitan: Ringkasan Soalan Temuduga Besar Hadapan 2022 (Koleksi)

Mengenai CLI Sudut

Angular CLI, juga dikenali sebagai Angular scaffolding, digunakan untuk menjana rangka kerja projek atau komponen dengan cepat untuk meningkatkan kecekapan. Apl sudut, komponen, perkhidmatan, dsb. boleh dijana dengan mudah dan boleh dibuat mengikut keperluan anda sendiri melalui parameter. Ia boleh dikatakan sebagai alat yang sangat diperlukan untuk pembangunan sudut. [Cadangan tutorial berkaitan: "tutorial sudut"]
Rujukan: https://cli.angular.io/

  • ng menjana: cipta komponen baharu, perkhidmatan, paip , kelas dsb.
  • ng baharu: Cipta apl sudut baharu
  • kemas kini: Naik taraf sudut itu sendiri dan versi dependensinya
  • ng: Paparkan versi global cli anuglar dan cli sudut tempatan, Versi kod sudut, dsb.
  • ng tambah: Tambahkan pustaka pihak ketiga. Ia akan melakukan 2 perkara, 1) memasang node_modules berdasarkan npm, 2) menukar fail konfigurasi secara automatik untuk memastikan kebergantungan baharu berfungsi dengan betul

Mengenai suntikan kebergantungan sudut (suntikan kebergantungan)

Suntikan kebergantungan ialah corak reka bentuk aplikasi yang dilaksanakan oleh Angular dan merupakan salah satu konsep teras Angular.

Pergantungan ialah perkhidmatan dengan siri fungsi Pelbagai komponen dan arahan (dericive) dalam aplikasi mungkin memerlukan fungsi perkhidmatan. Angular menyediakan mekanisme yang lancar di mana kami boleh menyuntik kebergantungan ini ke dalam komponen dan arahan kami. Jadi kami hanya membina kebergantungan yang boleh disuntik antara semua komponen aplikasi.

Menggunakan suntikan kebergantungan juga mempunyai faedah berikut,

  1. Tidak perlu membuat instantiate (contoh baharu). Anda tidak perlu risau tentang parameter yang diperlukan dalam pembina kelas
  2. disuntik sekali (modul apl disuntik melalui Penyedia), dan semua komponen boleh digunakan. Selain itu, contoh perkhidmatan yang sama (Singleton) digunakan, yang bermaksud bahawa data dalam perkhidmatan dikongsi dan boleh digunakan untuk pemindahan data antara komponen.

Mengenai kompilasi sudut, perbezaan antara AOT dan JIT

Setiap aplikasi Angular mengandungi komponen yang tidak dapat difahami oleh penyemak imbas dan templat. Oleh itu, semua aplikasi Angular perlu disusun sebelum dijalankan di dalam penyemak imbas.

Angular menyediakan dua jenis kompilasi:

  • Kompilasi JIT(Just-in-Time)
  • Kompilasi AOT(Ahead-of-Time)

Perbezaannya ialah dalam kompilasi JIT, aplikasi disusun di dalam penyemak imbas pada masa jalanan, manakala dalam kompilasi AOT, aplikasi disusun semasa masa binaan.
Jelas sekali, kompilasi AOT mempunyai banyak faedah, jadi ia adalah kaedah kompilasi lalai Angular. Faedah Utama

  • Oleh kerana aplikasi disusun sebelum dijalankan di dalam penyemak imbas, penyemak imbas memuatkan kod boleh laku dan memaparkan aplikasi serta-merta, menghasilkan pemaparan yang lebih pantas.
  • Dalam kompilasi AOT, pengkompil akan menghantar fail HTML dan CSS luaran bersama-sama dengan aplikasi, menghapuskan permintaan AJAX yang berasingan untuk fail sumber tersebut, sekali gus mengurangkan permintaan ajax.
  • Pembangun boleh mengesan dan mengendalikan ralat semasa fasa binaan, yang membantu meminimumkan ralat.
  • Pengkompil AOT menambahkan HTML dan templat pada fail JS sebelum menjalankannya dalam penyemak imbas. Oleh itu, tiada fail HTML berlebihan untuk dibaca, memberikan keselamatan yang lebih baik kepada aplikasi.

Ikatan dua hala sudut

Prinsip pengikatan dua hala Sudut

Dua sudut -cara mengikat, melalui pemeriksaan kotor dilaksanakan.

  • Prinsip asas pengesanan nilai kotor adalah untuk menyimpan nilai lama dan membandingkan nilai baharu pada saat semasa dengan nilai lama apabila mengesan. Jika mereka sama, tiada perubahan Jika tidak, perubahan dikesan dan paparan perlu dikemas kini.

  • Zone.js disertakan dalam angular2. Untuk setTimeout, addEventListener, promise, dsb. semuanya dilaksanakan dalam ngZone (dengan kata lain, ia dikapsulkan dan ditulis semula oleh zone.js Angular menyediakan cangkuk yang sepadan dalam ngZone, memberitahu angular2 untuk melakukan pemprosesan semakan kotor yang sepadan dan). kemudian mengemas kini DOM.

Masalah kecekapan pengikatan dua hala sudut

Untuk situasi di mana sejumlah besar elemen DOM perlu terikat dalam halaman (kepada Ratusan atau ribuan), anda pasti akan menghadapi masalah kecekapan. (Khususnya juga bergantung pada prestasi PC dan penyemak imbas). Selain itu, sekiranya semakan kotor melebihi 10 kali ganda (nilai pengalaman?), ia dianggap terdapat masalah dengan program dan tiada lagi semakan akan dilakukan.
Anda boleh mengelakkan perkara ini dengan cara berikut:

  • Untuk data yang hanya digunakan untuk paparan, gunakan pengikatan sehala dan bukannya pengikatan dua hala;

  • Aliran data Angular adalah dari atas ke bawah, mengalir dalam satu arah daripada komponen induk kepada komponen anak. Aliran data satu arah memastikan pengesanan perubahan yang cekap dan boleh diramal. Oleh itu komponenisasi juga merupakan satu cara untuk meningkatkan prestasi.

  • Jangan tulis logik terlalu kompleks dalam ungkapan (dan fungsi yang dipanggil dengan ungkapan)

  • Jangan sambungkan paip terlalu panjang ( Selalunya paip akan merentasi dan menjana tatasusunan baharu. Paip dipanggil penapis dalam anglarJS (v1))

  • strategi pengesanan perubahan onPush. Lalai ialah strategi pengesanan perubahan lalai Angular, iaitu semakan kotor yang disebutkan di atas (semak semua nilai selagi ia berubah). Pembangun boleh menyediakan kaedah pengesanan perubahan yang lebih cekap mengikut senario: onPush. Strategi onPush bermaksud bahawa komponen hanya akan melakukan pengesanan perubahan apabila rujukan kepada data input berubah atau peristiwa dicetuskan.

  • NgFor harus digunakan dengan persamaan trackBy. Jika tidak, NgFor akan mengemas kini DOM untuk setiap item dalam senarai semasa setiap proses pengesanan nilai kotor.

Tiga cara pengikatan data sudut

<div>
    <span>Name {{item.name}}</span>  <!-- 1. 直接绑定 -->
    <span>Classes {{item | classPipe}}</span><!-- 2. pipe方式-->
    <span>Classes {{classes(item)}}</span><!-- 3.绑定方法调用的结果 -->
</div>
Salin selepas log masuk
  • Pengikatan langsung: Dalam kebanyakan kes, ini ialah cara prestasi terbaik.

  • Hasil panggilan kaedah mengikat: Semasa setiap proses pengesanan nilai kotor, persamaan kelas mesti dipanggil sekali. Sekiranya tiada keperluan khas, kaedah penggunaan ini hendaklah dielakkan seboleh-bolehnya.

  • kaedah paip: Ia serupa dengan fungsi mengikat Setiap kali kelas pengesanan nilai kotor dipanggil. Walau bagaimanapun, Angular telah mengoptimumkan paip dan menambah caching Jika item itu sama dengan kali terakhir, hasilnya akan dikembalikan secara langsung.

Untuk lebih banyak petua pengoptimuman, rujuk kepada petua pengoptimuman prestasi tentang pengikatan sudut (pemeriksaan kotor)

Mengenai Modul sudut

Apakah itu Angular’s ​​​​Module

Modul ialah tempat di mana kita boleh mengumpulkan komponen, perkhidmatan dan paip. Modul memutuskan sama ada modul lain boleh menggunakan komponen, arahan, dsb. dengan mengeksport atau menyembunyikan elemen ini. Setiap modul ditakrifkan menggunakan penghias @NgModule.

Perbezaan antara Modul Root dan Modul Ciri.

Setiap aplikasi Sudut hanya boleh mempunyai satu modul akar (Modul Root), dan ia boleh mempunyai satu atau lebih modul ciri (Modul Ciri). Modul akar mengimport BrowserModule, manakala modul fungsi mengimport CommonModule.

Modul Lazy-loading

Apabila projek besar, untuk meningkatkan kelajuan pemuatan skrin pertama, anda boleh melepasi Lazy -memuatkan, apabila URL tertentu tertentu diakses, hanya modul ciri yang tidak biasa tersebut dimuatkan.

Pelaksanaan: Cipta modul ciri seperti biasa dan ubah suai konfigurasi penghalaan. Contohnya:

const routes: Routes = [
  {
    path: &#39;customers&#39;,
    loadChildren: () => import(&#39;./customers/customers.module&#39;).then(m => m.CustomersModule)
  }
];
Salin selepas log masuk

Dengan cara ini, selepas penyusunan, modul ciri ini akan menjadi js bebas Hanya apabila pengguna mengakses url (~/pelanggan), js bebas ini akan diminta daripada pelayan . Kemudian muatkan dan laksanakan.

Rujukan https://angular.io/guide/lazy-loading-ngmodules

Apakah Arahan

Arahan digunakan untuk menambah gelagat kepada yang sedia ada? elemen (DOM) atau komponen (Komponen).
Pada masa yang sama, berbilang arahan boleh digunakan pada elemen atau komponen.

Perbezaan antara Promise dan Observable

Pertama sekali, versi baharu anuglar mengesyorkan menggunakan Observable (milik RxJS Kedua, untuk objek Observable, anda boleh menggunakan .toPromise() to menukarnya menjadi objek Janji.

  • Janji, tidak kira sama ada dipanggil. Janji dilaksanakan serta-merta; yang boleh diperhatikan hanya dibuat dan dilaksanakan apabila dipanggil (langgan).

  • Promise mengembalikan nilai; Observable mengembalikan 0 kepada N nilai. Jadi operator yang sepadan dengan Promise ialah .then(), dan operator yang sepadan dengan Observable ialah .subscribe

  • Observable Ia juga menyokong operator peta, penapis, pengurangan dan serupa

  • Boleh diperhatikan boleh dibatalkan, tetapi Janji tidak boleh

Jika anda meningkatkan prestasi Angular

Angular juga aplikasi web, jadi Teknik umum untuk meningkatkan prestasi halaman web adalah universal. Untuk Angular, terdapat beberapa teknik pengoptimuman khas:

  • Kompilasi AOT. Seperti yang dinyatakan sebelum ini, jangan kompilkan pada bahagian klien
  • Aplikasi telah diminimumkan (uglify dan gegar pokok)
  • Alih keluar pernyataan import yang tidak perlu. Jika ada lebihan, ia juga akan dimasukkan semasa mengemas.
  • Pastikan perpustakaan pihak ketiga yang tidak digunakan telah dialih keluar daripada aplikasi. Sama seperti di atas.
  • Apabila projek besar, pertimbangkan memuatkan malas (Lazy Loading) untuk memastikan kelajuan memuatkan halaman utama.

Cara menaik taraf versi Angular

Angular CLI menyediakan arahan naik taraf (ng kemas kini Pada masa yang sama, tapak web rasmi (https://update.angular.io /) juga mempunyai panduan naik taraf. Selepas memilih versi mana untuk dinaik taraf, arahan naik taraf langkah demi langkah akan diberikan, cuma laksanakannya secara langsung.

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

Atas ialah kandungan terperinci Kompilasi soalan temu bual Angular8: analisis mata pengetahuan asas. 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

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

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)

Bagaimana untuk memasang Angular pada Ubuntu 24.04 Bagaimana untuk memasang Angular pada Ubuntu 24.04 Mar 23, 2024 pm 12:20 PM

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

Penjelasan terperinci tentang pengurus keadaan pembelajaran sudut NgRx Penjelasan terperinci tentang pengurus keadaan pembelajaran sudut NgRx May 25, 2022 am 11:01 AM

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

Analisis ringkas tentang cara menggunakan editor monaco dalam sudut Analisis ringkas tentang cara menggunakan editor monaco dalam sudut Oct 17, 2022 pm 08:04 PM

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!

Lima soalan dan jawapan temu bual bahasa Go yang biasa Lima soalan dan jawapan temu bual bahasa Go yang biasa Jun 01, 2023 pm 08:10 PM

Sebagai bahasa pengaturcaraan yang telah menjadi sangat popular sejak beberapa tahun kebelakangan ini, bahasa Go telah menjadi tempat hangat untuk temu duga di banyak syarikat dan perusahaan. Bagi pemula bahasa Go, cara menjawab soalan yang berkaitan semasa proses temu duga adalah soalan yang patut diterokai. Berikut ialah lima soalan dan jawapan temuduga bahasa Go yang biasa untuk rujukan pemula. Sila perkenalkan bagaimana mekanisme pengumpulan sampah bahasa Go berfungsi? Mekanisme pengumpulan sampah bahasa Go adalah berdasarkan algoritma sapu tanda dan algoritma penandaan tiga warna. Apabila ruang memori dalam program Go tidak mencukupi, pengumpul sampah Go

Artikel yang meneroka pemaparan sisi pelayan (SSR) dalam Angular Artikel yang meneroka pemaparan sisi pelayan (SSR) dalam Angular Dec 27, 2022 pm 07:24 PM

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

Cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan Cara menggunakan PHP dan Angular untuk pembangunan bahagian hadapan May 11, 2023 pm 04:04 PM

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

Komponen sudut dan sifat paparannya: memahami lalai bukan blok Komponen sudut dan sifat paparannya: memahami lalai bukan blok Mar 15, 2024 pm 04:51 PM

Tingkah laku paparan lalai untuk komponen dalam rangka kerja Angular bukan untuk elemen peringkat blok. Pilihan reka bentuk ini menggalakkan pengkapsulan gaya komponen dan menggalakkan pembangun untuk secara sedar menentukan cara setiap komponen dipaparkan. Dengan menetapkan paparan sifat CSS secara eksplisit, paparan komponen Sudut boleh dikawal sepenuhnya untuk mencapai reka letak dan responsif yang diingini.

Apakah yang perlu saya lakukan jika projek itu terlalu besar? Bagaimana untuk membahagikan projek Angular dengan munasabah? Apakah yang perlu saya lakukan jika projek itu terlalu besar? Bagaimana untuk membahagikan projek Angular dengan munasabah? Jul 26, 2022 pm 07:18 PM

Projek Angular terlalu besar, bagaimana untuk membahagikannya secara munasabah? Artikel berikut akan memperkenalkan kepada anda cara membahagikan projek Angular secara munasabah. Saya harap ia akan membantu anda!

See all articles