Angular dapat dengan mulus meningkatkan fungsionalitas elemen bentuk standar menggunakan arahan, dan kita akan membahas keunggulannya, termasuk:
Pengikatan data, pembuatan atribut model, formulir verifikasi, informasi umpan balik setelah formulir verifikasi, atribut instruksi formulir
Di bawah ini kami memverifikasi penggunaannya melalui kasus:
1. Data Bidirectional Binding (NG-model) dan model pembentukan properti
<! Doctype> <!-Gunakan modul-> <html ng-app = "exewleApp"> <head> <title> directive sudut </ title> <meta charset = "utf-8"/> <link rel = "stylesheet" type = "text/css" href = "css/bootstrap.min.min" Texts/css "href =" css/bootstrap.min. href = "css/bootstrap-theme.min.css"> </head> <body> <!-case: Bidirectional Data Binding-> <Div ng-controller = "defaultctrl"> <!-filter item yang lengkapnya salah-> <h3> untuk melakukan daftar <span> {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{span> | 'false'}).length}}</span></h3> <div> <div> <div> <label for="action">Action: </label> <!-- ng-model Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Bidirectional Dua arah arah arah dua arah arah arah arah dua arah arah arah arah arah depan arah baldiri arah arah arah depan arah depan angin satu arah arah twerirectional Dua arah arah arah dua arah arah arah arah dua arah arah arah arah arah depan arah baldiri arah arah arah depan arah depan angin satu arah arah twerirectional Dua arah arah arah dua arah arah arah arah dua arah arah arah arah arah depan arah baldiri arah arah arah depan arah depan angin satu arah arah twerirectional BIDIRECTIONAL BI-> <!-Ketika salah satu pihak mengirimkan penggantian, yang lain juga berubah-> <input type = "text" id = "action" ng-model = "newtodo.action"> </div> <v> <label for = "location"> Lokasi: </label> <pilih id = "lokasi" ngel = "NewtoD =" label/label </label> <pilih id = "lokasi" ng-model = "newtod = label. <option>Mall</option> </select> </div> <!-- ng-click Click Add to add the item--> <button ng-click="addNewItem(newToDo)">Add</button> </div> <div> <table> <thead> <tr><th>#</th><th>Action</th><th>Done</th></tr> </thead> <tbody> <tr ng-repeat = "item in todos"> <!-$ index defaults ke 0, increment-> <td> {{$ index + 1}} </td> <td> {{item.action}} </td> <td> </tode </tabel </tabel </tabel/</tabel/</tabel/</tabel </tabel/</tabel/</tabel/</tles/tabel </tles/tabel </TABBOX = " </div> </div> <script type = "text/javaScript" src = "js/angular.min.js"> </script> <script type = "text/javascript"> // tentukan modul bernama controller ('scrault ("exexpleApp", [] // define a controller bernama a node node node a name name name a controller (collevault. {// Model Data $ scope.todos = [{action: "Play Ball", Lengkapi: false}, {action: "Singing", Complete: False}, {Action: "Running", Complete: True}, {Action: "Dance", Lengkap: True}, {Action: "Renang", Lengkap: FALSE}, {DANCE ", TRUE: $ scope.addnewitem = function (newItem) {// tentukan if (angular.isdefined (newItem) && angular.isdefined (newitem.action) && angular.isdefined (newItem. }) </script> </body> </html>Pertama, metode model data. Kemudian, aksi dan lokasi formulir dalam tampilan dan ruang lingkup. Todos dalam model diikat menggunakan data dua arah yang mengikat NG-model.
Akhirnya, metode addNewItem () untuk menambahkan data ke model dipicu dengan mengklik atribut.
2. Formulir Verifikasi
Sebelum kami mengirimkan formulir ke server, kami perlu memeriksa apakah data yang dikirimkan oleh pengguna ada atau legal, jika tidak, mengirimkan data yang tidak berguna akan membuang sumber daya.
<! Doctype> <!-Gunakan modul-> <html ng-app = "exewleApp"> <head> <title> directive sudut </ title> <meta charset = "utf-8"/> <link rel = "stylesheet" type = "text/css" href = "css/bootstrap.min.min" Texts/css "href =" css/bootstrap.min. href="css/bootstrap-theme.min.css"> <style> </style></head><body><div id="todoPanel" ng-controller="defaultCtrl"> <!-- novalidate means abandoning the form verification that comes with the browser and using NG's own verification --> <!-- ng-submit="addUser(newUser) When Data formulir legal, kirimkan data ke model-> <form name = "myForm" novalidate ng-submit = "addUser (newUser)"> <verv> <div> <label> Nama: </label> <!-Tabel yang diperlukan Formulir ini diperlukan-> <!-ng-model = "newUser.name" Teks dua arah-"TEPAGE-" TEPAGE-"TEPAGE-" TEPAGE "NEWUSER" NEWUSER.NAME "DATA DATA TWO-WAY-" DATA DATA DATA-"NG-MODEL =" NEWUSER.NAME "DATA DATA DATA DATA-" ng-model="newUser.name"> </div> <div> <label>Email:</label> <input name="userEmail" type="email"required ng-model="newUser.email"> </div> <div> <label> <input name="agreed" type="checkbox"ng-model="newUser.agreed" required> I agree to the terms and conditions </label> </div> <!-g-disabled = "myForm. $ tidak valid" Tombol kirim tidak tersedia ketika ilegal untuk mengisi salah satu formulir-> <tombol type = "kirim" ng-disabled = "myForm. $ tidak valid"> ok </buton> </div> <Div> pesan: {{{}} {} {{{{} {{{{{} {{{} {{{} {{{} {{{{} {{} {{{} {{{} {{{{} {{{{{{{{{{{{{{ </form> </div> <script type = "text/javaScript" src = "js/angular.min.js"> </script> <script type = "text/javascript"> angular.module ("scoppleApp", []) .controller ("defaultctrl", function ($ scopeApp) {]. (UserDetails) {$ scope.message = userDetails.name + "(" + userDetails.email + ") (" + userDetails.agreed + ")";Pertama, metode Model Data. Kemudian elemen formulir memvalidasi, atribut nama dan atribut NG-Submit ditambahkan ke tampilan. Kemudian Data Data dua arah NG-model mengikat aksi dan lokasi formulir dalam tampilan dan ruang lingkup. Todos dalam model terikat, dan atribut verifikasi diperlukan dan formulir email digunakan.
Kemudian, tombol kirim dinonaktifkan. Ini hanya dapat digunakan jika semua data formulir legal. Jika ilegal, itu akan dinonaktifkan (ng-disabled = ”myForm. $ Tidak valid”)
Akhirnya, data diserahkan ke metode AddUser () dari model diselesaikan melalui atribut NG-Submit.
3. Formulir Informasi Umpan Balik Verifikasi
Jauh dari cukup bagi kita untuk hanya memverifikasi formulir, karena pengguna bingung karena dia tidak tahu mengapa kesalahan telah terjadi. Oleh karena itu, kita perlu memberi umpan balik informasi kepada pengguna sehingga mereka dapat memahami apa yang harus diisi
Pertama kali memperkenalkan kelas yang akan diverifikasi di NG
Pengguna NG-Pristine tidak memiliki elemen interaktif yang ditambahkan ke kelas ini
NG-DIRTY Pengguna berinteraksi dengan elemen ditambahkan ke kelas ini
elemen validasi valid NG-valid ditambahkan ke kelas ini
NG-INVALID Elemen tidak valid ditambahkan ke kelas ini
<! Doctype> <!-Gunakan modul-> <html ng-app = "exewleApp"> <head> <title> directive sudut </ title> <meta charset = "utf-8"/> <link rel = "stylesheet" type = "text/css" href = "css/bootstrap.min.min" Texts/css "href =" css/bootstrap.min. href = "css/bootstrap-theme.min.css"> <tyle>/*interaktif dan diperlukan gaya*/form.validate .ng-invalid-required.ng-dirty {latar belakang-warna: oranye; } /*Interaksi adalah gaya ilegal* / bentuk .ng-invalid.ng-Dirty {latar belakang-warna: lightpink; } /*Email adalah ilegal dan berinteraksi dengan* / form.validate .ng-invalid-email.ng-dirty {latar belakang-color: lightgoldenrodyellow; } div.error {color: red; font-weight: tebal; } div.summary.ng-valid {color: green; font-weight: tebal; } div.summary.ng-invalid {color: red; font-weight: tebal; } </tyle> </head> <body> <!-case: Data Bidirectional Binding-> <div ng-controller = "defaultctrl"> <!-novalidate = "novalidate" Just ng verifikasi-> <!-ng-submit = "addUser (newUser)" tambahkan data ke model-> <! Verifikasi adalah legal, showvalidation benar, yang memicu NG-Class untuk memvalidasi-> <bentuk nama = "myForm" novalidate = "novalidate" ng-submit = "adduser (newUser)" ng-class = "showvalidation? 'validate' : ''"> <div> <div> <label>Email: </label> <input name="email" type="email" required="required" ng-model="newUser.email"> <!-- Verification prompt message--> <div> <!-- Show feedback information--> <span ng-class="error" ng-show="showValidation"> {{getError (myForm.email. $ error)}} </span> </div> </div> <tombol type = "kirim"> OK </button> <div> Pesan: {{pesan}} <!-ketika MyForm. $ Validasi valid benar, showValidation benar, yang membuat non-ng-class ke NG- NG- NG-NGA- NGA. ng-class = "myform. $ valid? 'ng-valid': 'ng-invalid' "> valid: {{myForm. $ valid}} </div> </form> </div> <script type =" text/javascript "src =" js/angular.min.js "> </script> <script type =" teks/javascript "> // exampleappangular.module ("exampleappp", []) // Tentukan pengontrol bernama defaultctrl .controller ('defaultctrl', function ($ scope) {// tambahkan data ke model $ scope.adduser = function (userDetails) {ifForm. $ valid) {$ scope. + ") ( + userDetails.agreed +") "; (angular.isdefined (error)) {if (error.Required) {return "Harap masukkan nilai";Pertama, tentukan gaya informasi umpan balik dan gaya verifikasi bentuk dalam gaya
Kemudian tulis umpan balik informasi saat kesalahan ditulis dalam JS
Akhirnya mengikat NG-Class di tampilan
4. Properti Instruksi Bentuk
1. Gunakan elemen input
<! Doctype> <!-Gunakan modul-> <html ng-app = "exewleApp"> <head> <title> directive sudut </ title> <meta charset = "utf-8"/> <link rel = "stylesheet" type = "text/css" href = "css/bootstrap.min.min" Texts/css "href =" css/bootstrap.min. href="css/bootstrap-theme.min.css"> <style> </style></head><body><div id="todoPanel" ng-controller="defaultCtrl"> <form name="myForm" novelidate="novalidate"> <div> <div> <label>Text: </label> <!-- ng-required="requireValue" required value through data Binding-> <!-ng-minlength = "3" ng-maxlength = "10" Karakter maksimum dan minimum diizinkan-> <!-ng-pola = "matchpattern" pencocokan reguler-> <input name = "sampel" ng-model = "inputValue" ng-required = "NequseValue" NG-Min-Min- "NG-m-min-" ng-ng-m-m-min- "ng-m-minelpe =" NG-MinLEQUIRE " ng-pola = "matchpattern"> </div> </div> <v> <!-wajib-> <p> Kesalahan yang diperlukan: {{myForm.sample. $ error.Required}} </p> <!-Length maksimum minimum-> <p> Min length error: {{myForm.sample. $ error.minlength}}} {{{{{myForm.sample. $ error.minlength}}}} {{{{myForm.sample. {{myForm.sample. $ error.maxlength}} </p> <!-Cocokkan saja huruf kecil-> <p> Kesalahan pola: {{myForm.sample. $ error.pattern}} </p> <!-verifikasi legal-> <p> elemen valid: {myForm.sample. $ valid}}}}} </div </p> </div </pow <//{myForm.sample. $ valid}}}}}} </div </PRIPTY </PRIPT//</div <////div </form <///</div </for/{MyForm.sample. $ valid}}}}}} {p> </pripy </div </pow <//{myForm.sample. $ scrips type = "text/javascript" src = "js/angular.min.js"> </script> <script type = "text/javascript"> // Tentukan modul bernama exampleappangular.module ("exampleapp", []) // define a controller bernama defaultctrl. controllRer ('function (' function) {cexpleApp ")/ $ scope.requirevalue = true;2. Pilih daftar
<! Doctype> <!-Gunakan modul-> <html ng-app = "exewleApp"> <head> <title> directive sudut </ title> <meta charset = "utf-8"/> <link rel = "stylesheet" type = "text/css" href = "css/bootstrap.min.min" Texts/css "href =" css/bootstrap.min. href = "css/bootstrap-theme.min.css"> <tyle> </tyle> </head> <body> <v id = "todopanel" ng-controller = "defaultctrl"> <bentuk name = "myForm" novelidate = "novalidate"> <Div> <div> <acing> item action: a novelate = "novalidate"> <Div> <dv> <acing> label. Nilai-> <!-Ng-options = "item.id sebagai item.action grup dengan item.place untuk item di todos"-> <pilih ng-model = "selectValue" ng-options = "item.id sebagai item.action group dengan item.Place untuk item di todo"> <value = ""> (pick one) </Option> {{pick on/{{pick on/{pick On/{pick {pick on/pick {pick One {pick On/pick {pick On/pick {pick {pick {pick On/pick {pick {pick {pick {pick {pick {pick {pick {pick {pick {pick " || Tidak ada "}} </p> </div> </form> </div> <script type =" text/javaScript "src =" js/angular.min.js "> </script> <script type =" text/javascript "> // define a name name nonead/nameault (" controling ("controling (" controling ("collecpine (" controling ("controling (" controling ("controling (" controling ("controling (" controling ("controling (" controling ("controling (" controling ("controling (" controling ("controling (" controlleApp " .controller ('defaultctrl', function ($ scope) {// Model data $ scope.todos = [{id: 100, Place: "School", Action: "Play Ball", Complete: False}, {ID: 200, Place: "Home", Action: "Eating", Complete: False}, {ID: 300, Place: "Home", Action: "Eating", Complet }) </script> </body> </html>Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.