ให้บริการที่เป็นวัตถุเดี่ยวที่ใช้ซ้ำได้ สามารถใช้เพื่อแบ่งปันรหัสกับแอปพลิเคชัน AngularJS ของผู้ใช้ นอกจากนี้ยังสามารถฉีดเข้าไปในคำสั่งตัวกรองและ . ในบทความนี้เราจะทำความเข้าใจกับโรงงานใน AngularJS
โรงงานใน AngularJS คืออะไร?
Factory เป็นฟังก์ชันเชิงมุมที่ใช้ในการส่งคืนค่า ค่าตามความต้องการถูกสร้างขึ้นโดยโรงงานเมื่อใดก็ตามที่บริการหรือตัวควบคุมต้องการ เมื่อสร้างค่าแล้วจะใช้ซ้ำสำหรับบริการและคอนโทรลเลอร์ทั้งหมด
เราสามารถใช้โรงงานในการสร้างบริการ
ความแตกต่างระหว่างบริการและโรงงาน
- บริการสามารถกำหนดได้ด้วยวิธีต่อไปนี้:
app.service ('FirstService', ฟังก์ชัน () {
this.sayHola = function () {
console.log ('สวัสดี')
}
})
เมธอด. service () ใช้ชื่อและฟังก์ชันที่กำหนดเซอร์วิส เราสามารถฉีดได้ด้วยวิธีต่อไปนี้:
app.controller ('AppController', ฟังก์ชัน (FirstService) {
FirstService.sayHello () // บันทึก 'สวัสดี'
คุณสามารถเพิ่ม double เป็น int
})
- ในทางกลับกันโรงงานสามารถกำหนดได้ด้วยวิธีต่อไปนี้:
app.factory ('FirstService', ฟังก์ชัน () {
return {
sayHola: function () {
console.log ('สวัสดี')
}
}
})
คำแนะนำง่ายๆเกี่ยวกับวิทยาศาสตร์ข้อมูล
factory () ยังเป็นวิธีการที่ใช้ชื่อและฟังก์ชันที่กำหนดโรงงาน เราฉีดได้แบบเดียวกับการฉีดเซอวิส ความแตกต่างที่สำคัญระหว่างบริการและโรงงานคือเรา ส่งคืนวัตถุตามตัวอักษร ในกรณีของโรงงาน (แทนที่จะใช้สิ่งนี้) เหตุผลก็คือบริการเป็นฟังก์ชันตัวสร้างในขณะที่โรงงานไม่ใช่
- เพื่อความเข้าใจที่ดียิ่งขึ้นเรามาดูฟังก์ชันโรงงาน ():
ฉunction factory (ชื่อ factFn บังคับ) {
ผู้ให้บริการส่งคืน (ชื่อ {
$ get: บังคับ! == เท็จ? enforceReturnValue (ชื่อ factFn): factFn
})
}
ในรหัสที่ระบุข้างต้นจะใช้ชื่อและฟังก์ชันโรงงานที่ส่งผ่าน จะส่งคืนผู้ให้บริการที่มีชื่อเดียวกันพร้อมกับไฟล์รับ $
วิธีการ (ซึ่งเป็นฟังก์ชั่นโรงงาน) นี่เป็นเพราะเหตุผลที่เมื่อใดก็ตามที่หัวฉีดถูกถามถึงการพึ่งพาที่เฉพาะเจาะจงหัวฉีดจะถามผู้ให้บริการเกี่ยวกับบริการดังกล่าวโดยโทรไปที่รับ $ ()
วิธี.
- ในการฉีด FirstService ฟังก์ชันของโรงงานจะถูกเรียกว่า:
FirstServiceProvider. $ get () // ส่งคืนอินสแตนซ์ของบริการ
- สำหรับรหัสบริการ:
บริการฟังก์ชัน (ชื่อตัวสร้าง) {
ส่งคืนโรงงาน (ชื่อ, ['$ injector', function ($ injector) {
ส่งคืน $ injector.instantiate (ตัวสร้าง)
}])
}
เมื่อเราโทรบริการ (), โรงงาน ()
คือสิ่งที่เรียกว่าจริงๆ สิ่งนี้ทำได้โดยการส่งผ่านฟังก์ชันที่ขอให้หัวฉีดสร้างอินสแตนซ์วัตถุโดยตัวสร้าง ในแง่ที่ง่ายกว่านั้นบริการเรียกโรงงานที่กำหนดไว้ล่วงหน้า
$ injector.instantiate ()
เรียกไฟล์Object.create ()
ด้วยฟังก์ชันตัวสร้าง นั่นคือเหตุผล นี้ ใช้ในบริการ
ตัวอย่าง Factory ใน JavaScript
var firstModule = angular.module ('firstModule', [])
firstModule.factory ('firstFactory', ฟังก์ชัน () {
คืนค่า 'a value'
เปลี่ยนสตริงเป็นอาร์เรย์ php
})
firstModule.controller ('FirstController', function ($ scope, firstFactory) {
console.log (firstFactory)
})
การใส่ค่าเข้าไปในโรงงาน
สามารถฉีดค่าเข้าไปในโรงงานได้ด้วยวิธีการดังต่อไปนี้:
var firstModule = angular.module ('firstModule', [])
firstModule.value ('numberValue', 29)
firstModule.controller ('FirstController', function ($ scope, numberValue) {
console.log (numberValue)
})
บันทึก: ต้องสังเกตว่าค่าที่ผลิตโดยฟังก์ชันโรงงานจะถูกฉีดเข้าไปไม่ใช่ฟังก์ชันของโรงงานเอง
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความนี้ในบทความ AngularJS ฉันหวังว่าคุณจะเข้าใจว่าโรงงานคืออะไรและแตกต่างจากบริการอย่างไร
คกำจัดไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก Angular เป็นเฟรมเวิร์ก JavaScript ที่ใช้เพื่อสร้างแอปพลิเคชันเว็บฝั่งไคลเอ็นต์ที่ปรับขนาดได้และมีประสิทธิภาพ เนื่องจากการใช้ Angular framework อยู่ในระดับสูงการจัดการประสิทธิภาพของแอปพลิเคชันจึงเป็นแรงผลักดันจากชุมชนโดยทางอ้อมทำให้เกิดโอกาสในการทำงานที่ดีขึ้น การฝึกอบรมการรับรองเชิงมุมมีวัตถุประสงค์เพื่อครอบคลุมแนวคิดใหม่ ๆ เกี่ยวกับการพัฒนาแอปพลิเคชันขององค์กร