AOT bermaksud penyusun Angular-Ahead-of-Time. Ia digunakan untuk menyusun semula komponen aplikasi dan templatnya semasa proses binaan. Aplikasi sudut yang disusun dengan AOT mempunyai masa permulaan yang lebih singkat. Begitu juga, komponen aplikasi ini boleh dilaksanakan serta-merta tanpa sebarang penyusunan sisi klien. Templat dalam aplikasi ini dibenamkan sebagai kod dalam komponennya. Ia mengurangkan keperluan untuk memuat turun pengkompil Angular, menyelamatkan anda daripada tugas yang membosankan. Penyusun AOT boleh membuang arahan yang tidak digunakan, yang selanjutnya dibuang menggunakan alat menggoncang pokok.
23. Terangkan jQLite.
jQlite juga dikenali sebagai jQuery lite ialah subset jQuery dan termasuk semua cirinya. Secara lalai, ia dibungkus dalam Angular. Ia membantu Angular memanipulasi DOM dengan cara merentas pelayar yang serasi. jQLitePada asasnya hanya melaksanakan fungsi yang paling biasa digunakan, jadi ia mengambil sedikit ruang.
24. Terangkan proses gelung ringkasan dalam Sudut?
Kitaran ringkasan dalam Angular ialah proses memantau senarai pantau untuk menjejak perubahan dalam nilai pembolehubah jam tangan. Dalam setiap gelung ringkasan, Angular membandingkan versi sebelumnya bagi nilai model skop dengan versi baharu. Biasanya, proses ini dicetuskan secara tersirat, tetapi anda juga boleh mengaktifkannya secara manual menggunakan $apply().
25. Apakah itu modul Sudut?
Semua aplikasi Angular adalah modular dan mengikut sistem modular yang dipanggil NgModules. Bekas ini menyimpan blok kod padat yang dikhususkan untuk domain aplikasi, aliran kerja atau satu set fungsi yang berkait rapat. Modul ini biasanya mengandungi komponen, pembekal perkhidmatan dan fail kod lain, yang skopnya ditakrifkan oleh NgModule yang mengandungi. Dengan modul, kod menjadi lebih boleh diselenggara, boleh diuji dan boleh dibaca. Begitu juga, semua kebergantungan aplikasi biasanya ditakrifkan hanya dalam modul.
26. Pada jenis komponen manakah kita boleh membuat arahan tersuai?
Sokongan sudut mencipta arahan tersuai untuk:
-
Arahan elemen - Apabila elemen padanan ditemui, arahan akan diaktifkan.
-
Atribut - Arahan akan diaktifkan apabila atribut yang sepadan ditemui. Arahan
-
CSS- akan diaktifkan apabila gaya CSS yang sepadan ditemui.
-
Anotasi - arahan akan diaktifkan apabila anotasi yang sepadan ditemui
27. Apakah jenis penapis yang berbeza dalam Angular ?
Berikut ialah pelbagai penapis yang disokong oleh Angular:
-
Mata Wang: Format nombor ke dalam format mata wang.
-
Tarikh: Format tarikh ke dalam format yang ditentukan.
-
penapis: Memilih subset item daripada tatasusunan.
-
json: Format objek menjadi rentetan JSON.
- **had:** Hadkan tatasusunan/rentetan kepada bilangan elemen/aksara tertentu.
-
huruf kecil: memformat rentetan sebagai huruf kecil.
-
nombor: Format nombor menjadi rentetan.
-
orderBy: Isih tatasusunan mengikut ungkapan .
-
huruf besar: memformat rentetan sebagai huruf besar.
28. Apakah suntikan kebergantungan dalam Angular?
Suntikan Ketergantungan (DI) ialah corak reka bentuk perisian di mana objek dihantar sebagai kebergantungan dan bukannya dikod keras dalam komponen. Konsep suntikan pergantungan berguna apabila anda cuba memisahkan logik penciptaan objek daripada logik menggunakan objek. Operasi "config" menggunakan DI, yang mesti diprakonfigurasikan semasa memuatkan modul untuk mendapatkan semula elemen aplikasi. Menggunakan ciri ini, pengguna boleh menukar kebergantungan mengikut keperluan mereka.
29. Bezakan antara pengikatan sehala dan pengikatan data dua hala.
Dalam pengikatan data Sehala, apabila model data ditukar, bahagian View atau UI tidak akan dikemas kini secara automatik. Anda perlu menulis kod tersuai secara manual untuk mengemas kini paparan setiap kali ia berubah.
Semasa dalam dua hala pengikatan data, setelah model data ditukar, bahagian View atau UI dikemas kini secara tersirat. Tidak seperti pengikatan data sehala, ini adalah proses segerak.
30. Apakah cangkuk kitaran hayat komponen dan arahan?
Komponen sudut mempunyai kitaran hayat diskret yang mengandungi peringkat peralihan yang berbeza dari kelahiran hingga kematian. Untuk mempunyai kawalan yang lebih baik ke atas peringkat ini, kami boleh menyambungkannya menggunakan:
-
Pembina: Ini dipanggil apabila komponen atau arahan dicipta dengan memanggil baharu pada kelas.
- **ngOnChanges:** Ini akan dipanggil apabila mana-mana sifat input komponen berubah atau dikemas kini.
- **ngOnInit:** Ini dipanggil setiap kali komponen tertentu dimulakan. Selepas ngOnChanges pertama, cangkuk dipanggil sekali sahaja dalam hayatnya.
- **ngDoCheck:** Ini dipanggil apabila pengesan perubahan untuk komponen tertentu dipanggil. Ini membolehkan anda melaksanakan algoritma pengesanan perubahan anda sendiri untuk komponen yang disediakan.
-
ngOnDestroy: Dipanggil serta-merta sebelum Angular memusnahkan komponen. Anda boleh menggunakan cangkuk ini untuk menyahlanggan yang boleh diperhatikan dan menanggalkan pengendali acara untuk mengelakkan sebarang jenis kebocoran memori.
31. Apakah yang anda pelajari dengan melakukan semakan kotor pada Angular?
Dalam Sudut, proses penghadaman dipanggil semakan kotor. Ia dipanggil kerana ia mengimbas keseluruhan julat untuk melihat perubahan. Dalam erti kata lain, ia membandingkan semua nilai model skop baharu dengan nilai skop sebelumnya. Memandangkan semua pembolehubah jam tangan terkandung dalam satu gelung, sebarang perubahan/kemas kini mana-mana pembolehubah akan menyebabkan pembolehubah jam tangan yang lain yang terdapat dalam DOM ditetapkan semula. Pembolehubah yang dipantau berada dalam satu gelung (gelung ringkasan) dan sebarang perubahan nilai mana-mana pembolehubah akan menetapkan semula nilai pembolehubah lain yang dipantau dalam DOM
32. Bezakan antara DOM dan BOM.
DOM |
物料清单 |
1.代表文档对象模型 |
1.代表浏览器对象模型 |
2.表示网页的内容 |
2.在网页上方工作,并包含浏览器属性 |
3.所有对象都以树状结构排列,并且只能通过提供的API来操作和访问文档 |
3.所有全局JavaScript对象,变量和函数都隐式地成为window对象的成员 |
4.处理HTML文档 |
4.访问和操纵浏览器窗口 |
5. W3C推荐的标准规格 |
5.每个浏览器都有自己的实现 |
DOM |
Bil Bahan |
1 Mewakili model objek dokumen |
1 Mewakili model objek pelayar |
2. Mewakili kandungan halaman web |
2. Berfungsi di atas halaman web dan mengandungi sifat penyemak imbas |
3 adalah dalam bentuk pokok Struktur disusun dan dokumen hanya boleh dimanipulasi dan diakses melalui API yang disediakan |
3 Semua objek, pembolehubah dan fungsi JavaScript global secara tersirat menjadi ahli objek tetingkap |
4. Memproses dokumen HTML |
4. Akses dan manipulasi tetingkap pelayar |
5 W3C | 5. Setiap pelayar mempunyai pelaksanaan sendiri |
33. Apakah Transpiling dalam Sudut?
Kompilasi dalam Angular merujuk kepada proses menukar kod sumber daripada satu bahasa pengaturcaraan kepada bahasa lain. Biasanya, dalam Angular, penukaran ini adalah daripada TypeScript kepada JavaScript. Ini adalah proses tersirat yang berlaku secara dalaman.
34. Bagaimana untuk melaksanakan animasi dalam Angular?
Untuk melaksanakan animasi dalam aplikasi Angular, anda perlu memasukkan sesuatu yang dipanggil Animate Library perpustakaan Angular khas dan kemudian sama ada merujuk modul ngAnimate ke dalam aplikasi anda atau menambah ngAnimate sebagai kebergantungan di dalam modul aplikasi anda.
35. Apakah yang termasuk dalam Angular?
Kemasukan dalam Angular membolehkan anda mengalihkan anak asal arahan ke lokasi tertentu dalam templat baharu. Arahan ng menunjukkan bahawa titik sisipan DOM yang terkandung bagi arahan induk terdekat bagi arahan yang terkandung sedang digunakan. Arahan atribut seperti ng-transclude atau ng-transclude-slot digunakan terutamanya untuk kemasukan.
36. Apakah peristiwa dalam Sudut?
Acara dalam Angular ialah arahan khusus yang membantu menyesuaikan gelagat pelbagai acara DOM. Acara yang disokong oleh Angular disenaraikan di bawah:
- ng-click
- ng-copy
- ng-cut
- ng-dblclick
- ng-keydown
- ng-keypress
- ng-keyup
- ng-mousedown
- ng-mouseenter
- ng -mouseleave
- ng-mouseover
- ng-mouseover
- ng-mouseup
- ng-blur
37. Senaraikan beberapa alatan untuk menguji apl sudut?
Karma
Angular Mocks
Mocha
Browserify
Sion
38. Bagaimana untuk mencipta perkhidmatan dalam Angular?
Dalam Angular, perkhidmatan ialah objek yang boleh diganti yang disambungkan bersama menggunakan suntikan kebergantungan. Buat perkhidmatan dengan mendaftarkannya dalam modul di mana ia akan dilaksanakan. Pada asasnya, anda boleh membuat perkhidmatan sudut dalam tiga cara. Pada asasnya, ini adalah tiga cara untuk mencipta perkhidmatan dalam Angular:
- Kilang
- Perkhidmatan
- Pembekal
39. Apakah corak tunggal dan bolehkah ia ditemui dalam Sudut?
Corak Singleton dalam Sudut ialah corak hebat yang mengehadkan kelas daripada digunakan beberapa kali. Corak Singleton dalam Angular dilaksanakan terutamanya dalam suntikan dan perkhidmatan pergantungan. Jadi, jika anda tidak menggunakan "Objek baharu()" tanpa menjadikannya tunggal, anda akan diberikan dua lokasi storan berbeza untuk objek yang sama. Manakala jika anda mengisytiharkan objek sebagai singleton, ia hanya akan digunakan semula jika ia sudah wujud dalam ingatan.
40. Apa yang anda tahu tentang REST dalam Angular?
REST bermaksud REPenampilanAkaun kecilBos besarHebatPemindahan (BOT). REST ialah gaya API (Antara Muka Pengaturcaraan Aplikasi) untuk permintaan HTTP. Dalam kes ini, URL yang diminta menunjukkan dengan tepat data yang perlu diproses. Kaedah HTTP kemudiannya akan mengenal pasti operasi khusus yang perlu dilakukan pada data yang diminta. Oleh itu, API yang mengikuti pendekatan ini dipanggil API RESTful.
41. Apakah itu bootstrap dalam Angular?
Bootstrap dalam Angular hanyalah mengenai memulakan atau memulakan aplikasi Angular. Angular menyokong bootstrap automatik dan manual.
- ***Autobootstrapper:***Ini dilakukan dengan menambahkan arahan ng-app pada akar aplikasi anda, biasanya pada markup atau teg (jika anda mahukan sudut secara automatik boot aplikasi) . Apabila Angular menemui arahan ng-app, ia memuatkan modul yang dikaitkan dengannya dan kemudian menyusun DOM.
-
Bootstrap manual: Bootstrap manual memberi anda lebih kawalan ke atas cara dan bila aplikasi Angular anda dimulakan. Ini berguna jika anda ingin melakukan sebarang operasi lain sebelum Angular bangun dan menyusun halaman.
42. Apakah perbezaan antara memaut dan menyusun dalam Angular?
- Fungsi kompilasi digunakan untuk manipulasi DOM templat dan mengumpulkan semua arahan.
- Fungsi pautan digunakan untuk mendaftarkan pendengar DOM serta instance operasi DOM dan dilaksanakan selepas mengklon templat.
43. Apakah yang anda tahu tentang pemalar dalam Angular?
Dalam Angular, pemalar adalah seperti perkhidmatan yang digunakan untuk menentukan data global. Pemalar diisytiharkan menggunakan kata kunci "malar". Ia dicipta menggunakan kebergantungan berterusan dan boleh disuntik di mana-mana dalam pengawal atau perkhidmatan.
44. Apakah perbezaan antara penyedia, perkhidmatan dan kilang Angular?
提供者 |
服务 |
厂 |
提供程序是一种可以将应用程序的一部分传递到app.config中的方法 |
服务是一种用于创建以'new'关键字实例化的服务的方法。 |
这是用于创建和配置服务的方法。在这里,您可以创建一个对象,向其中添加属性,然后返回相同的对象,并将工厂方法传递到控制器中。 |
45. Apakah Angular Global API?
Angular Global API ialah gabungan fungsi JavaScript global untuk melaksanakan pelbagai tugas biasa, seperti:
- Membandingkan Objek
- Objek Lelaran
- Tukar Data
mempunyai beberapa fungsi API Global Sudut biasa, seperti:
- ** Sudut. Huruf kecil: **Tukar rentetan kepada rentetan huruf kecil.
-
Bertanduk. Huruf besar: Menukar rentetan kepada huruf besar.
-
Bertanduk. isString: Mengembalikan benar jika rujukan semasa ialah rentetan.
- **Bertanduk. isNumber: **Mengembalikan benar jika rujukan semasa ialah nombor.
Tahap Lanjutan – Soalan Temuduga
46. Dalam Angular, terangkan cara untuk menetapkan, mendapatkan dan mengosongkan kuki?
Untuk menggunakan kuki dengan Angular, anda perlu memasukkan modul yang dipanggil ngCookies angular-cookies.js.
Tetapkan Kuki – Untuk menetapkan Kuki dalam format nilai kunci, gunakan kaedah “letakkan”.
cookie.set("nameOfCookie","cookieValue");
** Dapatkan Kuki –** Untuk mendapatkan kuki, kaedah “dapatkan” digunakan.
cookie.get("nameOfCookie");
**Kosongkan Kuki –** Gunakan kaedah “Padam” untuk memadamkan kuki.
cookie.delete("nameOfCookie");
47 Jika model data anda dikemas kini di luar "rantau", sila huraikan prosesnya, bagaimana anda akan melihat paparan?
Anda boleh mengemas kini paparan menggunakan mana-mana daripada yang berikut:
ApplicationRef.prototype.tick() : it Pengesanan perubahan akan dilakukan pada keseluruhan pokok komponen.
**NgZone.prototype.run():** Ia akan melakukan pengesanan perubahan pada keseluruhan pepohon komponen. Di sini run() di bawah hud akan memanggil tick itu sendiri dan kemudian parameter akan mendapat fungsi sebelum tick dan melaksanakannya.
**ChangeDetectorRef.prototype.detectChanges():** Ia akan memulakan pengesanan perubahan pada komponen semasa dan subkomponennya.
48. Terangkan arahan ng-app dalam Sudut.
arahan ng-app digunakan untuk mentakrifkan aplikasi Sudut, membolehkan kami menggunakan auto-bootstrapping dalam aplikasi Sudut. Ia mewakili elemen akar aplikasi Sudut dan biasanya diisytiharkan berhampiran teg atau. Sebarang bilangan arahan ng-app boleh ditakrifkan dalam dokumen HTML, tetapi hanya aplikasi Sudut yang boleh di-bootstrap secara tersirat dan formal. Aplikasi yang selebihnya mesti dibut secara manual.
Contoh
<div ng-app=“myApp” ng-controller=“myCtrl”>
First Name :
<input type=“text” ng-model=“firstName”>
<br />
Last Name :
<input type=“text” ng-model=“lastName”>
<br>
Full Name: {{firstName + ” ” + lastName }}
</div>
49. Apakah proses memasukkan paparan terbenam daripada TemplateRef yang disediakan?
@Component({
selector: 'app-root',
template: `
<ng-template #template let-name='fromContext'><div>{{name}}</ng-template>
`
})
export class AppComponent implements AfterViewChecked {
@ViewChild('template', { read: TemplateRef }) _template: TemplateRef<any>;
constructor() { }
ngAfterViewChecked() {
this.vc.createEmbeddedView(this._template, {fromContext: 'John'});
}
}
50. Bagaimana hendak menyembunyikan elemen HTML hanya dengan mengklik butang sudut?
Elemen HTML boleh disembunyikan dengan mudah menggunakan arahan ng-hide bersama-sama dengan pengawal untuk menyembunyikan elemen HTML apabila butang diklik.
Lihat
<div ng-controller ="MyController">
<button ng-click ="hide()">欢迎关注全栈程序员社区公众号</ button>
<p ng-hide ="isHide">欢迎关注Java架构师社区公众号!</ p>
</ div>
Pengawal
controller: function() {
this.isHide = false;
this.hide = function(){
this.isHide = true;
};
}
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada pengaturcaraan! !