實踐中學習AngularJS表單_AngularJS

來源:互聯網
上載者:User

表單是最常用的一種組建。在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> 

關於下拉式功能表,還涉及到從資料庫、遠程等讀取資料,此外還有其他方法實現下拉式功能表。這些將在之後進行討論。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.