首頁  >  文章  >  web前端  >  實踐中學習AngularJS表單_AngularJS

實踐中學習AngularJS表單_AngularJS

WBOY
WBOY原創
2016-05-16 15:10:031079瀏覽

表單是最常用的一種組成。在Angular.js中,其實並沒有單獨的為表單添加多少特殊功能。但是,利用Angular.js框架本身的特點,可以更友善的呈現表單。以下將介紹幾種常用的功能在Angular中是如何巧妙實現的。

1.依照輸入域資料即時更新輸出資料

下面代嗎實作了一個簡易的計算表單,它能將使用者輸入的資料進行處理,並且即時顯示在表單輸出域中:

<div ng-app="" ng-init="quantity=1;price=5"> 
数量: <input type="number" ng-model="quantity"> 
价格: <input type="number" ng-model="price"> 
<p><b>总价:</b> {{ quantity * price }}</p> 
</div> 

透過定義兩個ng-model,將使用者輸入的資料進行即時監聽,並且利用{{}}進行資料的調用,擁幾行程式碼就完成了一個建議的計算表單功能。

2.實作表單重設功能

下面的程式碼實作了一個表單中經常使用的功能:重設表單。

HTML程式碼:

<div ng-app="myApp" ng-controller="formCtrl"> 
<form> 
First Name:<br> 
<input type="text" ng-model="user.firstName"><br> 
Last Name:<br> 
<input type="text" ng-model="user.lastName"> 
<br><br> 
<button ng-click="reset()">RESET</button> 
</form> 
<p>form = {{user}}</p> 
</div> 

JS程式碼:

var app = angular.module('myApp', []); 
app.controller('formCtrl', function($scope) { 
$scope.master = {firstName: "John", lastName: "Doe"}; 
$scope.reset = function() { 
$scope.user = angular.copy($scope.master); 
}; 
$scope.reset(); 
}); 

在JS控制器程式碼中,我們定義了master對象,用來存放初始時刻表單輸入框的值。我們定義了一個reset()方法,執行後,利用angular.copy方法,將master中的值賦值給user,利用這樣的方法實作了表單域的重置。在HTML程式碼中,我們使用ng-click滑鼠點擊事件觸發reset()函數,從而實現我們的功能。

3.實作表單下拉選單選擇域功能

在Angular中,實作下拉選單很簡單。我們可以利用ng-repeat指令來方便的實作一個下拉式選單:

首先,在js的模型中定義數據,數據格式如下:

var app = angular.module('myApp', []); 
app.controller('myCtrl', function($scope) { 
$scope.names = ["Google", "Runoob", "Taobao"]; 
}); 

然後,我們在html中,利用ng-repeat進行模型中資料的讀取(具體含義見之前博客)

<div ng-app="myApp" ng-controller="myCtrl"> 
<select ng-model="selectedName" ng-options="x for x in names"> 
</select> 
</div> 

關於下拉式選單,還涉及從資料庫、遠端等讀取數據,此外還有其他方法實作下拉選單。這些將在之後進行討論。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn