Latest web development tutorials

บริการ AngularJS (Service)

AngularJS คุณสามารถสร้างบริการของคุณเองหรือใช้บริการในตัว


บริการคืออะไร?

ใน AngularJS บริการเป็นฟังก์ชั่นหรือวัตถุที่สามารถนำมาใช้ในการประยุกต์ใช้ AngularJS ของคุณ

AngularJS สร้างกว่า 30 บริการ

มีบริการ$ ที่ตั้งซึ่งผลตอบแทนที่อยู่ URL ของหน้าปัจจุบัน

ตัวอย่าง

var App = angular.module ( 'MyApp' []);
app.controller ( 'customersCtrl' ฟังก์ชั่น ( $ ขอบเขต $ สถานที่) {
$ = $ Scope.myUrl location.absUrl ();
});

ลอง»

หมายเหตุ: บริการ$ สถานที่ที่เป็นพารามิเตอร์ที่จะควบคุมได้หากคุณต้องการใช้มันคุณจะต้องมีการกำหนดไว้ในการควบคุม


ใช้บริการทำไม?

$ http AngularJS การประยุกต์ใช้เป็นบริการที่ใช้กันมากที่สุดบริการส่งคำขอไปยังเซิร์ฟเวอร์ข้อมูลที่ตอบสนองการใช้เซิร์ฟเวอร์ส่งจาก

AngularJS คอยตรวจสอบการประยุกต์ใช้จัดการกับเหตุการณ์เปลี่ยนแปลง AngularJS ใช้$ สถานที่ให้บริการดีกว่าการใช้ window.location


บริการ $ Http

$ http AngularJS การประยุกต์ใช้เป็นบริการที่ใช้กันมากที่สุดบริการส่งคำขอไปยังเซิร์ฟเวอร์ข้อมูลที่ตอบสนองการใช้เซิร์ฟเวอร์ส่งจาก

ตัวอย่าง

ใช้$ ข้อมูลการร้องขอบริการ HTTPไปยังเซิร์ฟเวอร์:

var App = angular.module ( 'MyApp' []);
app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต $ HTTP) {
$ http.get ( "welcome.htm") จากนั้น (ฟังก์ชั่น (การตอบสนอง) {
$ Scope.myWelcome = response.data;
});
});

ลอง»

ข้างต้นเป็นตัวอย่าง$ บริการ HTTPง่ายมากมากขึ้น$ httpApplications บริการโปรดดู AngularJS Http กวดวิชา


บริการ $ หมดเวลา

AngularJS $ หมดเวลาและบริการที่เกี่ยวข้องกับฟังก์ชั่น JSwindow.setTimeout

ตัวอย่าง

ข้อมูลที่แสดงสองวินาที:

var App = angular.module ( 'MyApp' []);
app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต $ หมดเวลา) {
$ scope.myHeader = "Hello World!" ;
$ หมดเวลา (ฟังก์ชั่น () {
$ scope.myHeader = "คุณเป็นอย่างไรวันนี้ ";
}, 2000);
});

ลอง»

บริการ $ ช่วงเวลา

AngularJS $ ช่วงเวลาที่สอดคล้องกับฟังก์ชั่นการบริการ JSwindow.setInterval

ตัวอย่าง

ทุกสองวินาทีในการแสดงข้อมูล:

var App = angular.module ( 'MyApp' []);
app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต $ ช่วงเวลา) {
$ scope.theTime = new Date () toLocaleTimeString () .;
$ ช่วงเวลา (ฟังก์ชั่น () {
$ scope.theTime = new Date () toLocaleTimeString () .;
}, 1000)
});

ลอง»

การสร้างบริการที่กำหนดเอง

คุณสามารถสร้างการเข้าถึงบริการที่กำหนดเองเชื่อมโยงไปยังโมดูลของคุณ:

สร้างการเข้าถึงของชื่อhexafy:

app.service ( 'hexafy' ฟังก์ชั่น ( ) {
this.myFunc = function (x) {
กลับ x.toString (16);
}
});

เพื่อเข้าใช้บริการที่กำหนดเองคุณต้องกำหนดตัวกรองเมื่อเพิ่มแบบสแตนด์อโลน:

ตัวอย่าง

ใช้บริการที่กำหนดเองhexafy หมายเลขแปลงเลขฐานสิบหกดิจิตอล:

app.controller ( 'myCtrl' ฟังก์ชั่น ( $ ขอบเขต hexafy) {
$ scope.hex = hexafy .myFunc (255) ;
});

ลอง»

กรองโดยใช้บริการที่กำหนดเอง

เมื่อคุณสร้างการบริการที่กำหนดเองและเชื่อมต่อกับแอพลิเคชันของคุณคุณสามารถใช้มันในการควบคุมสั่งกรองหรือบริการอื่น ๆ

Hexafy ใช้บริการใน myFormatกรอง:

app.filter ( 'myFormat' [ ' hexafy' ฟังก์ชั่น (hexafy) {
ฟังก์ชั่นการกลับมา (x) {
กลับ hexafy .myFunc (x);
};
}]);

ลอง»

ได้รับค่าในอาร์เรย์ของวัตถุที่คุณสามารถใช้ตัวกรอง:

สร้างhexafy บริการ:

<ul>
<li NG-ซ้ำ = "x ในข้อหา"> {{x | myFormat}} </ li>
</ ul>

ลอง»