ทุกสิ่งที่คุณต้องการรู้เกี่ยวกับโรงงานใน AngularJS



บทความนี้จะให้ความรู้ที่ละเอียดและครอบคลุมเกี่ยวกับ Factory ใน AngularJS และความแตกต่างจากบริการอย่างไร

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

โรงงานใน AngularJS คืออะไร?

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





Angular Logo - โรงงานใน AngularJS

เราสามารถใช้โรงงานในการสร้างบริการ



ความแตกต่างระหว่างบริการและโรงงาน

  • บริการสามารถกำหนดได้ด้วยวิธีต่อไปนี้:

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 อยู่ในระดับสูงการจัดการประสิทธิภาพของแอปพลิเคชันจึงเป็นแรงผลักดันจากชุมชนโดยทางอ้อมทำให้เกิดโอกาสในการทำงานที่ดีขึ้น การฝึกอบรมการรับรองเชิงมุมมีวัตถุประสงค์เพื่อครอบคลุมแนวคิดใหม่ ๆ เกี่ยวกับการพัฒนาแอปพลิเคชันขององค์กร