คำสั่ง AngularJS


AngularJS ให้คุณขยาย HTML ด้วยแอตทริบิวต์ใหม่ที่เรียกว่า Directives

AngularJS มีชุดคำสั่งในตัวซึ่งมีฟังก์ชันการทำงานกับแอปพลิเคชันของคุณ

AngularJS ยังให้คุณกำหนดคำสั่งของคุณเองได้


คำสั่ง AngularJS

คำสั่ง AngularJS เป็นแอตทริบิวต์ HTML แบบขยายที่มีคำนำng-หน้า

คำng-appสั่งเริ่มต้นแอปพลิเคชัน AngularJS

คำng-initสั่งเริ่มต้นข้อมูลแอปพลิเคชัน

คำng-modelสั่งผูกค่าของการควบคุม HTML (อินพุต, เลือก, textarea) กับข้อมูลแอปพลิเคชัน

อ่านเกี่ยวกับคำสั่ง AngularJS ทั้งหมดในการอ้างอิงคำสั่ง AngularJSของ เรา

ตัวอย่าง

<div ng-app="" ng-init="firstName='John'">

<p>Name: <input type="text" ng-model="firstName"></p>
<p>You wrote: {{ firstName }}</p>

</div>

คำng-appสั่งยังบอก AngularJS ว่า <div> องค์ประกอบคือ "เจ้าของ" ของแอปพลิเคชัน AngularJS


การผูกข้อมูล

ในตัวอย่างข้าง ต้น{{ firstName }}นิพจน์คือนิพจน์การโยงข้อมูล AngularJS

การโยงข้อมูลใน AngularJS ผูกนิพจน์ AngularJS กับข้อมูล AngularJS

{{ firstName }}ถูกผูกไว้ng-model="firstName"กับ

ในตัวอย่างถัดไป ฟิลด์ข้อความสองฟิลด์ถูกผูกไว้กับคำสั่ง ng-model สองคำสั่ง:

ตัวอย่าง

<div ng-app="" ng-init="quantity=1;price=5">

Quantity: <input type="number" ng-model="quantity">
Costs:    <input type="number" ng-model="price">

Total in dollar: {{ quantity * price }}

</div>

การใช้ng-initงานไม่ธรรมดามาก คุณจะได้เรียนรู้วิธีเริ่มต้นข้อมูลในบทเกี่ยวกับตัวควบคุม



องค์ประกอบ HTML ซ้ำ

คำng-repeatสั่งทำซ้ำองค์ประกอบ HTML:

ตัวอย่าง

<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
  <ul>
    <li ng-repeat="x in names">
      {{ x }}
    </li>
  </ul>
</div>

ไดng-repeatเร็กทีฟจะลอกแบบองค์ประกอบ HTML หนึ่งครั้งสำหรับแต่ละรายการในคอลเล็กชัน

คำng-repeatสั่งที่ใช้กับอาร์เรย์ของวัตถุ:

ตัวอย่าง

<div ng-app="" ng-init="names=[
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}]">

<ul>
  <li ng-repeat="x in names">
    {{ x.name + ', ' + x.country }}
  </li>
</ul>

</div>

AngularJS เหมาะอย่างยิ่งสำหรับแอปพลิเคชันฐานข้อมูล CRUD (สร้างการอ่านอัปเดตลบ)
ลองนึกภาพว่าวัตถุเหล่านี้เป็นบันทึกจากฐานข้อมูลหรือไม่


คำสั่งในแอป

คำng-appสั่งกำหนดองค์ประกอบรากของแอปพลิเคชัน AngularJS

คำng-appสั่งจะบูตสแตรปอัตโนมัติ (เริ่มต้นโดยอัตโนมัติ) แอปพลิเคชันเมื่อโหลดหน้าเว็บ


คำสั่งความร้อน

คำng-initสั่งกำหนดค่าเริ่มต้นสำหรับแอปพลิเคชัน AngularJS

โดยปกติ คุณจะไม่ใช้ ng-init คุณจะใช้คอนโทรลเลอร์หรือโมดูลแทน

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


คำสั่งการสร้างแบบจำลอง

คำng-modelสั่งผูกค่าของการควบคุม HTML (อินพุต, เลือก, textarea) กับข้อมูลแอปพลิเคชัน

คำng-modelสั่งนี้ยังสามารถ:

  • ให้การตรวจสอบประเภทข้อมูลแอปพลิเคชัน (หมายเลข อีเมล จำเป็น)
  • ระบุสถานะสำหรับข้อมูลแอปพลิเคชัน (ไม่ถูกต้อง สกปรก แตะต้อง ผิดพลาด)
  • จัดเตรียมคลาส CSS สำหรับองค์ประกอบ HTML
  • ผูกองค์ประกอบ HTML กับรูปแบบ HTML

อ่านเพิ่มเติมเกี่ยวกับng-modelคำสั่งในบทต่อไป


สร้างคำสั่งใหม่

นอกเหนือจากคำสั่ง AngularJS ในตัวทั้งหมดแล้ว คุณสามารถสร้างคำสั่งของคุณเองได้

คำสั่งใหม่ถูกสร้างขึ้นโดยใช้.directiveฟังก์ชัน

หากต้องการเรียกใช้คำสั่งใหม่ ให้สร้างองค์ประกอบ HTML ที่มีชื่อแท็กเดียวกันกับคำสั่งใหม่

เมื่อตั้งชื่อ directive คุณต้องใช้ชื่อเคสอูฐ w3TestDirectiveแต่เมื่อเรียกใช้ คุณต้อง-แยกชื่อw3-test-directive:

ตัวอย่าง

<body ng-app="myApp">

<w3-test-directive></w3-test-directive>

<script>
var app = angular.module("myApp", []);
app.directive("w3TestDirective", function() {
  return {
    template : "<h1>Made by a directive!</h1>"
  };
});
</script>

</body>

คุณสามารถเรียกใช้คำสั่งโดยใช้:

  • ชื่อองค์ประกอบ
  • คุณลักษณะ
  • ระดับ
  • ความคิดเห็น

ตัวอย่างด้านล่างทั้งหมดจะให้ผลลัพธ์เดียวกัน:

ชื่อองค์ประกอบ

<w3-test-directive></w3-test-directive>

คุณลักษณะ

<div w3-test-directive></div>

ระดับ

<div class="w3-test-directive"></div>

ความคิดเห็น

<!-- directive: w3-test-directive -->

ข้อ จำกัด

คุณสามารถจำกัดคำสั่งของคุณให้ถูกเรียกใช้โดยวิธีการบางอย่างเท่านั้น

ตัวอย่าง

โดยการเพิ่มrestrictคุณสมบัติที่มีค่า"A"คำสั่งสามารถเรียกใช้โดยแอตทริบิวต์เท่านั้น:

var app = angular.module("myApp", []);
app.directive("w3TestDirective", function() {
  return {
    restrict : "A",
    template : "<h1>Made by a directive!</h1>"
  };
});

ค่าจำกัดทางกฎหมายคือ:

  • Eสำหรับชื่อองค์ประกอบ
  • Aสำหรับแอตทริบิวต์
  • Cสำหรับชั้นเรียน
  • Mสำหรับความคิดเห็น

โดยค่าเริ่มต้น ค่าคือEAหมายความว่าทั้งชื่อองค์ประกอบและชื่อแอตทริบิวต์สามารถเรียกใช้คำสั่งได้