คำถามสัมภาษณ์ AngularJS

นี่คือรายการของแนวคิดที่มักถูกถามเกี่ยวกับการสัมภาษณ์ AngularJS

  • AngularJS คืออะไร?
  • Model View Controller (MVC) คืออะไร?
  • การผูกข้อมูลสองทาง
  • การฉีดแบบพึ่งพาคืออะไรและทำงานอย่างไร?
  • $ ขอบเขตใน AngularJS คืออะไร?
  • $ rootScope ใน AngularJS คืออะไร?
  • จะใช้การกำหนดเส้นทางใน Angular ได้อย่างไร?
  • อธิบายคำสั่ง
  • เราจะสร้างคำสั่งที่กำหนดเองใน Angular ได้อย่างไร?
  • อธิบายความแตกต่างของการบริการและโรงงาน
  • อธิบายบริการ $ q รอการตัดบัญชีและสัญญา

ตัวอย่างคำถามและคำตอบ

คำถาม: ระบุคำสั่งใน AngularJS?

คำตอบ: ngBind, ngModel, ngClass, ngApp, ngInit, ngRepeat

คำถาม: ขอบเขต $ ใน AngularJS คืออะไร?

คำตอบ: ขอบเขต $ ใน AngularJS เป็นวัตถุที่อ้างถึงรูปแบบแอปพลิเคชัน เป็นวัตถุที่ผูกมุมมอง (องค์ประกอบ DOM) กับคอนโทรลเลอร์ ในคอนโทรลเลอร์ข้อมูลโมเดลจะถูกเข้าถึงผ่านวัตถุ $ ขอบเขต ดังที่เราทราบ AngularJS รองรับรูปแบบ MV * วัตถุขอบเขต $ กลายเป็นต้นแบบของ MV *

คำถาม: SPA (แอปพลิเคชั่นหน้าเดียว) ใน AngularJS คืออะไร?

คำตอบ: Single-Page Applications (SPA) คือเว็บแอปพลิเคชันที่โหลดหน้า HTML เดียวและอัปเดตหน้านั้นแบบไดนามิกเมื่อผู้ใช้โต้ตอบกับแอป

SPA ใช้ AJAX และ HTML เพื่อสร้างเว็บแอปที่ลื่นไหลและตอบสนองโดยไม่ต้องโหลดหน้าซ้ำอย่างต่อเนื่อง อย่างไรก็ตามนี่หมายความว่างานส่วนใหญ่เกิดขึ้นในฝั่งไคลเอ็นต์ใน JavaScript

หน้า HTML เดียวในที่นี้หมายถึงหน้าตอบกลับ UI จากเซิร์ฟเวอร์ แหล่งที่มาสามารถเป็น ASP, ASP.NET, ASP.NET MVC, JSP และอื่น ๆ

อย่างไรก็ตามเว็บแอปพลิเคชันแบบหน้าเดียวจะถูกส่งเป็นหน้าเดียวไปยังเบราว์เซอร์และโดยทั่วไปไม่จำเป็นต้องโหลดหน้าซ้ำเมื่อผู้ใช้ไปยังส่วนต่างๆของแอปพลิเคชัน ส่งผลให้การนำทางเร็วขึ้นการถ่ายโอนเครือข่ายที่มีประสิทธิภาพมากขึ้นและประสิทธิภาพโดยรวมที่ดีขึ้นสำหรับผู้ใช้ปลายทาง

คำถาม: การกำหนดเส้นทางใน AngularJS คืออะไร?

คำตอบ: การกำหนดเส้นทางเป็นคุณสมบัติหลักใน AngularJS คุณลักษณะนี้มีประโยชน์ในการสร้าง SPA (Single Page Applications) ที่มีหลายมุมมอง ใน SPA มุมมองทั้งหมดเป็นไฟล์ HTML ที่แตกต่างกันและเราใช้การกำหนดเส้นทางเพื่อโหลดส่วนต่างๆของแอปพลิเคชัน การแบ่งแอปพลิเคชันอย่างมีเหตุผลและทำให้สามารถจัดการได้เป็นประโยชน์ กล่าวอีกนัยหนึ่งการกำหนดเส้นทางช่วยให้เราแบ่งแอปพลิเคชันของเราออกเป็นมุมมองเชิงตรรกะและเชื่อมโยงกับตัวควบคุมที่แตกต่างกัน

คำถาม: อธิบายคำสั่ง ng-repeat

คำตอบ: คำสั่ง ng-repeat เป็นคุณสมบัติ AngularJS Directive ที่ถูกใช้มากที่สุด มันวนซ้ำคอลเลกชันของรายการและสร้างองค์ประกอบ DOM ตรวจสอบแหล่งที่มาของข้อมูลอย่างต่อเนื่องเพื่อแสดงเทมเพลตอีกครั้งเพื่อตอบสนองต่อการเปลี่ยนแปลง

คำถาม: ความแตกต่างระหว่าง ng-If และ ng-show / ng-hide คืออะไร

คำตอบ: คำสั่ง ng-If จะแสดงเฉพาะองค์ประกอบ DOM ถ้าเงื่อนไขเป็นจริง ในขณะที่คำสั่ง ng-show / ng-hide แสดงผลองค์ประกอบ DOM แต่เปลี่ยนคลาสของ ng-hide / ng-show เพื่อรักษาความสามารถในการมองเห็นขององค์ประกอบบนเพจ

คำถาม: คุณจะยกเลิกการหมดเวลาด้วย AngularJs ได้อย่างไร?

คำตอบ: $ timeout คือเสื้อคลุมของ AngularJs สำหรับ window.setTimeout คุณยกเลิกการหมดเวลาโดยใช้ฟังก์ชัน:

$timeout.cancel(function (){ // write your code. });

คำถาม: Dependency Injection คืออะไร?

คำตอบ: Dependency Injection (DI) เป็นรูปแบบการออกแบบซอฟต์แวร์ที่เกี่ยวข้องกับวิธีที่ส่วนประกอบต่างๆได้รับการอ้างอิง

ระบบย่อยของหัวฉีด AngularJS รับผิดชอบในการสร้างส่วนประกอบแก้ไขการอ้างอิงและจัดหาให้กับส่วนประกอบอื่น ๆ ตามที่ร้องขอ

คำถาม: อธิบายคำสั่ง ng-App

คำตอบ: คำสั่ง ng-app เริ่มแอปพลิเคชัน AngularJS เป็นการกำหนดองค์ประกอบราก เริ่มต้นหรือบูตแอปพลิเคชันโดยอัตโนมัติเมื่อโหลดหน้าเว็บที่มี AngularJS Application นอกจากนี้ยังใช้เพื่อโหลดโมดูล AngularJS ต่างๆใน AngularJS Applications

คำถาม: อธิบายคำสั่ง ng-init

คำตอบ: คำสั่ง ng-init จะเริ่มต้นข้อมูลของ AngularJS Application ใช้เพื่อใส่ค่าให้กับตัวแปรที่จะใช้ในแอปพลิเคชัน

ตัวอย่างเช่นในโค้ดด้านล่างนี้เราได้เริ่มต้นอาร์เรย์ของประเทศโดยใช้ไวยากรณ์ JSON เพื่อกำหนดอาร์เรย์ของประเทศ

 ... 

คำถาม: คุณแบ่งปันข้อมูลระหว่างคอนโทรลเลอร์ได้อย่างไร?

คำตอบ: สร้างบริการ AngularJS ที่จะเก็บข้อมูลและฉีดเข้าไปในตัวควบคุม การใช้บริการเป็นวิธีทดสอบที่สะอาดรวดเร็วและง่ายที่สุด

อย่างไรก็ตามมีวิธีอื่น ๆ อีกสองสามวิธีในการใช้การแชร์ข้อมูลระหว่างคอนโทรลเลอร์เช่น:

  • การใช้เหตุการณ์
  • การใช้ $ parent, nextSibling, controllerAs และอื่น ๆ เพื่อเข้าถึงคอนโทรลเลอร์โดยตรง
  • การใช้ $ rootScope เพื่อเพิ่มข้อมูล (ไม่ใช่แนวทางปฏิบัติที่ดี)

คำถาม: อะไรคือความแตกต่างระหว่างคำสั่ง ng-if และ ng-show / hide?

คำตอบ: ng-if จะสร้างและแสดงองค์ประกอบ DOM เมื่อเงื่อนไขเป็นจริงเท่านั้น หากเงื่อนไขเป็นเท็จหรือเปลี่ยนเป็นเท็จจะไม่สร้างหรือทำลายเงื่อนไขที่สร้างขึ้น

ng-show / hide จะสร้างองค์ประกอบ DOM เสมอ แต่จะใช้คุณสมบัติการแสดงผล CSS ตามการประเมินเงื่อนไข

ข้อมูลเพิ่มเติมเกี่ยวกับ AngularJS:

  • Angular เทียบกับ AngularJS
  • บทช่วยสอน Angular และ AngularJS ที่ดีที่สุด