例1 關于ag中的this及事件源:
<input type="button" value="test" ng-click="doTest($event)">------------------------------------$scope.name="myname";$scope.doTest=function(ent){;//事件參數通過頁面的$event傳入console.log(this.name);;//myname--這里this不再表示事件源,而是當前作用域對象console.log(ent.target.value);;//test--事件源封裝在事件參數的target屬性中console.log(angular.element(ent.target).val());;//test--angular.element方法可以將DOM元素封裝為jquery對象,如果引用了jquery庫,則可以直接使用$函數};例2 簡易計算器:
<div ng-controller="CalcController"> <p> <label for="n1">數字1:</label> <input type="text" id="n1" ng-model="num1"> </p> <p> <label for="n2">數字2:</label> <input type="text" id="n2" ng-model="num2"> </p> <p> <input type="button" value="+" ng-click="doCalc($event)"> <input type="button" value="-" ng-click="doCalc($event)"> <input type="button" value="*" ng-click="doCalc($event)"> <input type="button" value="/" ng-click="doCalc($event)"> </p> <p> <h1>result:<span ng-bind="result"></span></h1> </p></div>--------------------------------angular.module('myApp', []).controller('CalcController', ['$scope', function($scope){ $scope.doCalc=function(ent){ var op=ent.target.value; if(isNaN(this.num1) || isNaN(this.num2)){ $scope.result="無法計算"; } else{ var n1=parseFloat($scope.num1); //強制轉換為浮點型 var n2=parseFloat($scope.num2); console.log(typeof eval(n1+op+n2)); $scope.result=eval(n1+op+n2).toFixed(3); //eval()把 參數string 進行計算,結果為number類型 //toFixed()把 Number 四舍五入為指定小數位數的數字 } };}])新聞熱點
疑難解答