บริการ AngularJS (Service)
AngularJS คุณสามารถสร้างบริการของคุณเองหรือใช้บริการในตัว
บริการคืออะไร?
ใน AngularJS บริการเป็นฟังก์ชั่นหรือวัตถุที่สามารถนำมาใช้ในการประยุกต์ใช้ AngularJS ของคุณ
AngularJS สร้างกว่า 30 บริการ
มีบริการ$ ที่ตั้งซึ่งผลตอบแทนที่อยู่ URL ของหน้าปัจจุบัน
ตัวอย่าง
app.controller ( 'customersCtrl' ฟังก์ชั่น ( $ ขอบเขต $ สถานที่) {
$ = $ Scope.myUrl location.absUrl ();
});
ลอง»
หมายเหตุ: บริการ$ สถานที่ที่เป็นพารามิเตอร์ที่จะควบคุมได้หากคุณต้องการใช้มันคุณจะต้องมีการกำหนดไว้ในการควบคุม
ใช้บริการทำไม?
$ http AngularJS การประยุกต์ใช้เป็นบริการที่ใช้กันมากที่สุดบริการส่งคำขอไปยังเซิร์ฟเวอร์ข้อมูลที่ตอบสนองการใช้เซิร์ฟเวอร์ส่งจาก
AngularJS คอยตรวจสอบการประยุกต์ใช้จัดการกับเหตุการณ์เปลี่ยนแปลง AngularJS ใช้$ สถานที่ให้บริการดีกว่าการใช้ window.location
บริการ $ Http
$ http AngularJS การประยุกต์ใช้เป็นบริการที่ใช้กันมากที่สุดบริการส่งคำขอไปยังเซิร์ฟเวอร์ข้อมูลที่ตอบสนองการใช้เซิร์ฟเวอร์ส่งจาก
ตัวอย่าง
ใช้$ ข้อมูลการร้องขอบริการ HTTPไปยังเซิร์ฟเวอร์:
app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต $ HTTP) {
$ http.get ( "welcome.htm") จากนั้น (ฟังก์ชั่น (การตอบสนอง) {
$ Scope.myWelcome = response.data;
});
});
ลอง»
ข้างต้นเป็นตัวอย่าง$ บริการ HTTPง่ายมากมากขึ้น$ httpApplications บริการโปรดดู AngularJS Http กวดวิชา
บริการ $ หมดเวลา
AngularJS $ หมดเวลาและบริการที่เกี่ยวข้องกับฟังก์ชั่น JSwindow.setTimeout
ตัวอย่าง
ข้อมูลที่แสดงสองวินาที:
app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต $ หมดเวลา) {
$ scope.myHeader = "Hello World!" ;
$ หมดเวลา (ฟังก์ชั่น () {
$ scope.myHeader = "คุณเป็นอย่างไรวันนี้ ";
}, 2000);
});
ลอง»
บริการ $ ช่วงเวลา
AngularJS $ ช่วงเวลาที่สอดคล้องกับฟังก์ชั่นการบริการ JSwindow.setInterval
ตัวอย่าง
ทุกสองวินาทีในการแสดงข้อมูล:
app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต $ ช่วงเวลา) {
$ scope.theTime = new Date () toLocaleTimeString () .;
$ ช่วงเวลา (ฟังก์ชั่น () {
$ scope.theTime = new Date () toLocaleTimeString () .;
}, 1000)
});
ลอง»
การสร้างบริการที่กำหนดเอง
คุณสามารถสร้างการเข้าถึงบริการที่กำหนดเองเชื่อมโยงไปยังโมดูลของคุณ:
สร้างการเข้าถึงของชื่อhexafy:
this.myFunc = function (x) {
กลับ x.toString (16);
}
});
เพื่อเข้าใช้บริการที่กำหนดเองคุณต้องกำหนดตัวกรองเมื่อเพิ่มแบบสแตนด์อโลน:
ตัวอย่าง
ใช้บริการที่กำหนดเองhexafy หมายเลขแปลงเลขฐานสิบหกดิจิตอล:
$ scope.hex = hexafy .myFunc (255) ;
});
ลอง»
กรองโดยใช้บริการที่กำหนดเอง
เมื่อคุณสร้างการบริการที่กำหนดเองและเชื่อมต่อกับแอพลิเคชันของคุณคุณสามารถใช้มันในการควบคุมสั่งกรองหรือบริการอื่น ๆ
Hexafy ใช้บริการใน myFormatกรอง:
ฟังก์ชั่นการกลับมา (x) {
กลับ hexafy .myFunc (x);
};
}]);
ลอง»
ได้รับค่าในอาร์เรย์ของวัตถุที่คุณสามารถใช้ตัวกรอง: