Professional Documents
Culture Documents
หนังสือ AngularJS สำหรับผู้เริ่มต้น ที่ต้องการใช้งานจริง
หนังสือ AngularJS สำหรับผู้เริ่มต้น ที่ต้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 2
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
เกริ่นนำ
สวัสดีครับก่อนจะเข้าเรื่องผมขออนุญาติแนะทำ ทักทายกับผู้
อ่านก่อนเพื่ อให้ทราบถึงจุดประสงค์ของหนังสือเล่มนี้ว่าจัดทำขึ้นมา
เพื่ ออะไร และเพื่ อคนกลุ่มไหน
ต้องขอเรียนอย่างตรงมาตรงไปครับว่าผมจัดทำหนังสือเล่ม
นี้โดยไม่ได้หวังว่าจะขายเป็นเรื่องเป็นราวอะไร แต่ต้องการแจกใน
กลุ่ม “กลุ่มนักเขียนโปรแกรม” เมื่อสมาชิกในกลุ่มมีจำนวนครบ
5,000 คน ซึ่งตอนนี้ก็ใกล้เข้ามาทุกขณะแล้ว
จุดประสงค์เพื่ อแจกฟรี ส่วนกลุ่มเป้าหมายนั้นผมเน้นว่า
สำหรับคนที่ต้องการนำเอา Angular.JS ไปใช้ในการทำงานของท่าน
โดยไม่ต้องเรียนเป็นคอร์สยาวเหยียด ที่ใช้เวลามาก โดยผมได้
รวบรวมจุดสำคัญ ที่เราได้ใช้บ่อยๆ ในการทำงานจริง เพื่ อลดระยะ
เวลาในการเรียนรู้ของผู้อ่าน ดังนั้นหมายความว่าบางส่วนผมก็อาจ
จะไม่ได้กล่าวถึง เพราะหากมีพื้นฐานการใช้งานจากความรู้ในหนังสือ
นี้แล้ว ผู้อ่านจะสามารถไปต่อยอดศึกษาจากแหล่งอื่นได้โดยไม่ยาก
สุดท้ายผมขอเรียนให้ทราบว่า ตัวหนังสือในหนังสือเล่มนี้อาจ
จะมีขนาดใหญ่สักหน่อยเพื่ อให้อ่านง่าย และผมขอย้ำทิง ้ ท้ายว่า
เนื้อหาการเขียนการอธิบายนั้นผมจะใช้ภาษาง่ายๆ ไม่วิชาการ ซึ่งไม่
ใช่แนวทางที่ผมถนัด จะเรียกว่าเหมือนการเล่าสู่กันฟังก็ว่าได้ ไม่ได้
ออกแนวสอนเป็นเรื่องเป็นราวเหมือนการเรียนหนังสือในห้อง หรือ
คอร์สอบรมต่างๆ
---------------------------------------------------------------------------------------------------------------------------
หน ้า 3
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผมขอขอบคุณทุกท่านที่ติดตามผมงานต่างๆ มาโดยตลอด
ไม่ว่าจะเป็นบทความ หนังสือ คลิปสอน หรือแม้แต่โปรแกรมที่ผมจัด
ทำขึ้นมาทั้งหมดทั้งปวงนั้น จะเกิดขึ้นไม่ได้เลยหากขาดกำลังใจ และ
แรงสนับสนุนจากฐานผู้ชม ผมและทีมงานจะจัดทำสิ่งต่างๆ ที่เป็น
ประโยชน์ออกมาอย่างต่อเนื่อง แม้บางอย่างอาจจะไม่ได้เป็นเนื้อหาที่
ทันสมัยอะไรมากนัก แต่ก็อาจเกิดคุณค่าแก่คนอ่านบางท่านได้ ไม่
มากก็น้อย
---------------------------------------------------------------------------------------------------------------------------
หน ้า 4
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 5
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
กดที่ปม
ุ่ Download ได้เลยครับจะพบหน้านี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 6
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
กดกดที่ปม
ุ่ Download จะพบหน้าโค้ดแบบนี้ (แต่บางทีมันก็ดาว
โหลดเก็บลงในคอมนะ)
---------------------------------------------------------------------------------------------------------------------------
หน ้า 7
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 8
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
้ มอยากแนะนำว่าให้เราจดจำว่าอะไรอยู่ใต้
หลักการจำง่ายๆ ก่อนจบบทนีผ
อะไร และตัวไหนต้องไปวางตรงไหน โดยผมสรุปเป็นแผนภาพให้ดังนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 9
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ก่อนจะไปหัวข้ออื่นๆ ต่อ
ผมขออนุญาติพื้นที่เล็กน้อยเพื่ ออธิบายอะไรสักหน่อยก่อนนะครับ
ตลอดเนื้อหาในหนังสือนี้ผมจะเน้นว่าสำหรับคนทำงาน ดังนั้นเราจะไม่ได้มา
อธิบายกันขนาดว่า บรรทัดนี้คืออะไร คำนั้นคำนี้คืออะไร เพราะว่าหากต้อง
บอกกันทุกโค้ดขนาดนั้นจะทำให้ต้องใช้เนื้อที่เยอะมาก และโดยทั่วไปหากคน
ทำงานอ่านดูก็เข้าใจได้อย่างรวดเร็ว ดังนั้นผมจะอธิบายเฉพาะส่วนสำคัญ
จริงๆ และจะพยายามยกตัวอย่างที่กระชับ ไม่เยิ่นเย้อ เพื่ อประหยัดเวลา
การเรียนรู้ของคนอ่าน
การสร้างตัวแปรหลายตัวพร้อมกันทีเดียว
ตัวอย่างนี้เราจะมาดูว่าหากโปรแกรมเราต้องการเก็บค่าต่างๆ หลาย
อย่างไว้ในตัวแปรหลายตัวจะทำอย่างไร หรือบางทีอาจจะเก็บใส่ตัวแปร
เดียว จะต้องทำอย่างไร มีวิธีการไหนบ้าง และเอาไปใช้งานต้องเขียนยังไง
เริ่มจากง่ายๆ ก่อน $scope สามารถเก็บตัวแปรได้ไม่จำกัด เช่นเรา
ต้องการเก็บตัวแปร 2-3 ตัวแบบนี้
$scope.x = 10;
$scope.y = 20;
$scope.z = 30;
ง่ายๆ แบบนี้เลยครับพออยากเอาไปแสดงผลก็แค่วาง {{ x }} จบ ค่าตัว
แปรจะมาทันที ณ จุดที่เราวางตัวแปรเอาไว้ จุดสำคัญคือว่าหากค่าตัวแปร
มีการเปลี่ยน ณ เวลาใดก็ตาม ทุกๆ จุดที่วางตัวแปรนี้ไว้จะเปลี่ยนค่าทันที
มาดูโค้ดกันดีกว่าครับจะได้เห็นภาพกันแบบจะจะ
---------------------------------------------------------------------------------------------------------------------------
หน ้า 10
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 11
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 12
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงานของโค้ดนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 13
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 14
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงานของโค้ด
---------------------------------------------------------------------------------------------------------------------------
หน ้า 15
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 16
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
เมื่อเราคลิกปุม
่ หน้าเว็บก็จะแสดงค่าตัวแปรออกมาให้เห็น
ขออธิบายเสริมเล็กน้อยก่อนจบหัวข้อนี้ไปครับ เมือ
่ เราคลิกที่ button ตัว
ng-click จะไปวิ่งหา function ชื่อว่า showMessage() ที่อยู่ใน
$scope ภายใต้ controller ชื่อว่า MyController จากนั้นส่วนนี้เองก็มี
การสร้างตัวแปรชื่อ message ในบรรทัดที่ 7 นั่นเอง และค่าตัวแปรก็จะ
ถูกนำมาแสดงที่บรรทัด 17 ตามในภาพนี้
หากเราใช้ onClick=”showMessage()” จะไม่พบการทำงานใดเพราะ
JavaScript ไม่อาจมองเห็น function ที่อยู่ใน $scope ของ
Angular.JS ได้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 17
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใช้งานร่วมกับ form
ตัวอย่างที่ผ่านมาหลายๆ หัวข้อผมได้อธิบายเกี่ยวกับการใช้งาน
Angular พื้ นฐานไปพอสมควร บัดนี้ก็ได้เวลาที่เราจะมาเริม ่ ทำอะไรจริงๆ
จังๆ กันมากขึ้นอีกหน่อยเพราะว่ายังไงซะเราก็หนีไม่พ้นการทำเว็บ หรือ
เขียนโปรแกรมเกี่ยวกับรับค่าจาก Form อยู่แล้วแหละ ดังนั้นตัวอย่างนี้
ผมจะเขียนเรื่องนี้ และอธิบายให้เห็นว่าตัวแปรมันมายังไง ไปยังไง
เอ้าเริ่มกันดีกว่ากับโค้ดตัวอย่างแบบบ้านๆ นี้ครับ
---------------------------------------------------------------------------------------------------------------------------
หน ้า 18
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงานก่อนกดปุม
่
เมื่อกดปุม
่ แล้ว
---------------------------------------------------------------------------------------------------------------------------
หน ้า 19
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ขอไม่แคปผลการทำงานอีกรอบนะ เพราะว่ามันก็ทำงานได้เหมือนเดิมแหละ
แค่โค้ดเราเปลี่ยนไป ดูเป็นระบบระเบียบมากขึ้นกว่าเดิมเท่านั้นเอง ไม่มีอะไร
---------------------------------------------------------------------------------------------------------------------------
หน ้า 20
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 21
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ในกรณีนี้หากคุณกรอกค่าอะไรลงไป จะทำให้ตัวแปรนั้นเปลี่ยนค่าและจุดที่
วางตัวแปรไว้ก็จะเปลี่ยนค่าไปด้วยทันทีเลย โดยไม่ต้องสัง
่ อะไรแม้แต่
บรรทัดเดียว เรามาดูอะไรกันต่ออีกหน่อย
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 22
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 23
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
จะพบหน้าต่างแบบนี้
ทีนี้พอเรากดปุม
่ ก็ให้มาดูที่ส่วนของ console จะพบว่ามีข้อมูลออกมาดังนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 24
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
หากเราต้องการจัดการข้อมูลในแต่ละรอบใช้ if มาช่วยได้
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 25
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 26
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
พอโหลดมาแล้วให้ทำการแตกไฟล์ออก จะพบว่ามีไฟล์มากมายในนั้นตาม
ภาพนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 27
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 28
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
อธิบายสักหน่อย
บรรทัดที่ 2: เป็นการอ้างอิงไปหา route library ของ angularjs
บรรทัดที่ 4: ส่วนของ [‘ngRoute’] คือการเรียกใช้ Router Library
ร่วมกับ app
บรรทัดที่ 6-20: เป็นการกำหนดผูก route เข้ากับไฟล์ html ที่เราสร้างไว้
บรรทัดที่ 25-28: เป็นการสร้างเมนู และผูกเข้ากับ route เวลาเราคลิก
หน้าต่างๆ
---------------------------------------------------------------------------------------------------------------------------
หน ้า 29
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 30
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 31
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 32
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ผลการทำงานจะพบว่ามันไม่มีค่าเริ่มต้นให้
ดังนั้นเราต้องเติมโค้ดไปอีกดังนี้
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 33
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใช้งาน ng-blur
สำหรับส่วนนี้ถือว่าได้ว่านิยมใช้กันมาก โดยส่วนใหญ่จะใช้กับ
textbox เวลาที่เราเอาเมาส์ไปกด แล้วออกจาก textbox เขาเรียกว่าเหตุ
การ blur event เรามาทดลองเขียนโค้ดกันดูครับ
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 34
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใช้งาน ng-submit
ในบางกรณีที่เราทำฟอร์มแล้วต้องการให้ผู้ใช้งานกดปุม
่ enter เพื่ อ
เป็นการ submit ข้อมูลไปยัง function ต่างๆ สามารถทำได้โดยใช้
ng-submit แต่ว่าต้องใช้ร่วมกับ <form> tag นะครับ เช่นการทำ
ฟอมบันทึกข้อมูล ฟอม login เข้าระบบอะไรพวกนี้ ส่วนมากคนใช้งานมัก
จะไม่ค่อยอยากกดเมาส์ไปคลิกปุม่ (ยกเว้นคนใช้จอสัมผัส) เราลองมาดู
ตัวอย่างโค้ดกัน
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 35
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใช้งาน ng-change
สำหรับบาง ui component เราอาจจะต้องใช้เหตุการณ์
ng-change เพื่ อจัดการเมื่อมีการเปลี่ยนค่าในนั้น เช่นในกรณีของ
dropdownlist พวกจังหวัด อำเภอ ประมาณนี้ หรืออย่างประเภทสินค้า
พอเลือกก็ทำการกรอกสินค้าใน table เอาล่ะครับเดี๋ยวมาลองใช้งานกันดู
สักหน่อย
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 36
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใช้งาน filter
สำหรับการใช้งาน filter คือการกรองข้อมูลที่มาจาก $scope
เพื่ อให้ง่ายในการค้นหา โดยที่เราไม่ต้องไปแตะส่วนฐานข้อมูลเลย ช่วยให้
ลดภาระการทำงานของฐานข้อมูลไปได้มาก เช่นต้องการค้นหา สินค้าที่ชื่อ
มีตัวอักษร “ก” ในชื่อสินค้า เมื่อพบแล้วตัว filter จะทำการคืนค่ารายการ
กลับมาเป็น array ให้เราไปทำการ loop แสดงผลได้ตามต้องการ เพื่ อ
ความเข้าใจมาลองเขียนโค้ดตามตัวอย่างนี้กันครับ
ผลการทำงาน
เมื่อลองทำการป้อนอักษรลงในช่องค้นหา
---------------------------------------------------------------------------------------------------------------------------
หน ้า 37
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใช้งาน orderBy
อีกหัวข้อหนึ่งที่น่าสนใจมากคือการเรียงลำดับข้อมูลเพื่ อแสดงผลให้
สวยงาม โดยที่เราไม่ต้องไปใช้พลังของฐานข้อมูลเลย นั่นก็คือการใช้
orderBy ซึ่งมีอยู่แล้วใน angularjs ครับ เขียนง่ายด้วยนะ จะเรียงจาก
น้อยไปมาก หรือว่าจากมากไปหาน้อยก็ได้ แล้วแต่เราต้องการเลย เดี๋ยว
ผมสาธิตตัวอย่างให้ดู
ผลการทำงาน
---------------------------------------------------------------------------------------------------------------------------
หน ้า 38
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 39
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
จะได้โครงสร้างโปรเจคมาดังนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 40
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
เข้าไปใน myapp
ติดตั้งตัวเสริมต่างๆ
ติดตั้ง nodemon
ทดสอบการทำงานของ server
---------------------------------------------------------------------------------------------------------------------------
หน ้า 41
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ทำการสร้างฐานข้อมูลชื่อว่า db_phonebook
สร้างตารางให้มีโครงสร้างดังนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 42
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
จากนั้นไปที่โปรเจคเราเขียนโค้ดดังนี้
อธิบายโค้ดทีละส่วนดังนี้
1. เป็นการนำเข้าไลบราลี่เพื่ อให้เชื่อมต่อกับฐาน mysql ได้
2. ทำการเชื่อมต่อกับฐาน mysql ครับ
3. สร้าง route ชื่อ /insert และเขียนโค้ดเชื่อมต่อฐาน จากนั้นก็ทำ
การสั่งให้ insert ข้อมูลเข้าไป
---------------------------------------------------------------------------------------------------------------------------
หน ้า 43
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 44
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
เมื่อไปดูข้อมูลในฐานจะพบว่ามีรายการเพิ่ มเข้ามา
---------------------------------------------------------------------------------------------------------------------------
หน ้า 45
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
อธิบายการทำงาน
1. ทำการส่งข้อมูลไปแบบ GET ไปยัง phonebookAll
2. ผลตอบกลับจากทาง NodeJS
---------------------------------------------------------------------------------------------------------------------------
หน ้า 46
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ต่อมาทำการเติมโค้ดเข้าไปอีกในไฟล์ index.js
ทดสอบการทำงานที่ postman
---------------------------------------------------------------------------------------------------------------------------
หน ้า 47
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ใส่ข้อมูลเข้าไปอีก 2 รายการ
---------------------------------------------------------------------------------------------------------------------------
หน ้า 48
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ทดสอบการทำงานด้วย postman
จะพบว่ารายการหายไปละ
---------------------------------------------------------------------------------------------------------------------------
หน ้า 49
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ทดสอบการทำงานด้วย postman
สำหรับส่วนนี้ขอไม่อธิบายนะครับเพราะว่าผู้อ่านที่ทำตามมาเรื่อยๆ จะเข้าใจ
แต่ละจุดได้เลยโดยที่ผมไม่ต้องอธิบายอะไรเพิ่ มเติม
จะพบว่าข้อมูลมีการอัพเดตเรียบร้อย
---------------------------------------------------------------------------------------------------------------------------
หน ้า 50
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
พอทำการเชื่อมต่อแล้วเราก็จะมาเขียนส่วนของหน้าตาของเว็บกัน
ก่อนครับ ผมขอว่าไม่เน้นสวยมากนะ ให้ทำงานได้ก็พอเพราะความสวยงาม
เราไปแต่งกันทีหลังได้ครับ ในหนังสือนี้จะเน้นไปที่ให้ผู้อ่านเกิดความเข้าใจ
การรับส่งค่า และเขียนโค้ดของ AngularJS ก่อนครับ เริม ่ กันเลยเนอะ
ก่อนอื่นเลยแก้ไขโค้ดใน index.js อีกหน่อย ให้ตัดตัว connect ออก
เหลือเพี ยงเท่านี้เพราะเราต่อแบบ pool แล้วหากไม่ลบออกระบบจะ error
ครับ ให้แก้โค้ดเหลือไว้เพี ยงส่วนที่ผมแปะภาพไว้ตามนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 51
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
เขียนโค้ดลงไปดังนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 52
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 53
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
เพื่ อให้เห็นภาพว่าส่วนไหนทำงานอย่างไรขออธิบายด้วยภาพดังนี้
---------------------------------------------------------------------------------------------------------------------------
หน ้า 54
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
้ ไหนขึ้นมา ทีนี้
อันนี้จะเป็นการอธิบายว่าโค้ดส่วนไหน สร้างหน้าตาจุดไหนขึน
ผมจะมาอธิบายเพิ่ มอีก เมื่อหน้าเว็บโหลดมาโค้ดจะทำงานในส่วนนี้
อันนี้ยกตัวอย่างให้เห็นภาพคร่าวๆ นะครับไม่ได้เจาะลึกในการอธิบายเพราะ
เชื่อว่าผู้อ่านสามารถไล่โค้ด และทำความเข้าใจเพิ่ มเติมได้อยู่แล้ว
---------------------------------------------------------------------------------------------------------------------------
หน ้า 55
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
ทิ้งท้ายหนังสือเล่มนี้
ตลอดเนื้อหาทัง ้ หมดที่ได้นำเสนอไปนัน ้ ก็อาจจะมีบางเรื่องที่ขาดหล่น
หายไปบ้าง ผมในฐานะผู้เขียนกราบขออภัยไว้ ณ โอกาสนี้นะครับ จริงแล้ว
ทั้งหมดในเล่มนี้ผู้อ่านจะได้เห็นว่าเราเรียนรู้ AngularJS กันแบบรวบรัด
ตัดตอน ซึ่งได้มีการตัดส่วนที่ยังไม่จำเป็นออกไปก่อน ให้เราเรียนรู้
เฉพาะตัวที่เมื่อเรียนแล้วนำไปใช้ทำงานจริงได้เท่านั้น สำหร้บจุดอื่นผู้อ่าน
สามารถค้นหาข้อมูลเพิ่ มเติมได้จากเว็บไซต์ต่างๆ ซึ่งจะต่อยอดไปได้อีก
ไกลมาก
ตัวอย่างของระบบ Workshop ที่ทำมาเป็นแบบง่ายๆ ให้เห็นภาพ
การรับส่งข้อมูลเท่านัน ้ ซึ่งผู้อ่านสามารถนำความรู้นี้ไปใช้กับภาษาอื่นๆ ได้
ตามต้องการ เช่นใช้กับ PHP, .NET Core, JAVA, Go, Python ซึ่งส่วน
ของ AngularJS จะไม่ได้เปลี่ยนอะไร ใช้เทคนิคเดิมได้ครับ
แต่ท้ายที่สุดแล้วผู้อ่านสามารถนำเทคนิคไปพลิกแพลงได้ตาม
ต้องการนะครับ วิธีการนี้ไม่ใช่เทคนิคที่ตายตัว เอาจริงๆ สามารถเขียนให้
แตกต่างได้ อาจจะดีกว่าแนวทางที่ผมพาทำก็ได้
จากใจผู้เขียน
อีกหัวข้อหนึ่งสุดท้ายของหนังสือเล่มนี้ผมอยากขอบคุณทุกท่านที่
ติดตามผลงานมาตลอด และหนังสือนี้จะสำเร็จไม่ได้แน่หากไม่มีกำลังใจ
จากสมาชิกทุกท่านคอยส่งมาอย่างต่อเนื่อง ทั้งทางแชท ทางอีเมล์ และใน
กลุ่มเฟสบุค ซึ่งผมเองมีจุดประสงค์ว่าจะทำหนังสือ Ebook แจกฟรีออก
มาอย่างต่อเนื่องเพื่ อส่งต่อวิทยาทานนี้ออกไป ถึงแม้ในบางจุดผมอาจจะ
ไม่เก่ง หรืออธิบายไม่ลึกพอ
แต่ว่าอย่างน้อยผมคิดว่าการได้ลงมือทำอะไรสักอย่าง มันก็ดีกว่า
เราไม่ทำอะไรเลยแล้วเอาแต่วิจารณ์คนอื่นไปเรื่อย อย่างนัน ้ ไม่มีใครได้
ประโยชน์อะไรเลย ในความรู้ผมบางจุดก็ต้องยอมรับอย่างตรงไปตรงมา
ว่าผมเป็นคนรู้น้อย ซึ่งคนเราไม่รู้อะไรไปทั้งหมดจุดไหนที่แบ่งปันกันได้เราก็
นำออกมาแบ่งปันกันไป เพื่ อส่งต่อข้อมูลความรู้ออกไปยังผู้สนใจ
ผมหวังเป็นอย่างยิ่งว่าผู้อ่านจะได้รับความรู้จากหนังสือนี้ของผม
และช่วยแนะนำคนอื่นๆ มาเข้ากลุ่ม แอดไลน์ รู้จักกับเว็บของผม เพื่ อเป็น
กำลังใจให้ผมได้สร้างสรรค์ผลงานอย่างต่อเนื่องต่อไป สุดท้ายและท้ายสุด
---------------------------------------------------------------------------------------------------------------------------
หน ้า 56
พั ฒนาเว็บด้วย AngularJS สำหรับมือใหม่ ทีต ่ ้องการใช้งานจริง
แจกฟรีในกลุ่มเฟสบุค “กลุ่มนักเขียนโปรแกรม”
โดย อ.กบ ถาวร ศรีเสนพิ ลา
---------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------
หน ้า 57