当我写手表处理函数我检查newVal参数未定义和null。为什么AngularJS有这样的行为,但没有特定的实用方法?所以有angular.isUndefined,但不是angular.isUndefinedOrNull。不难用手来实现,但是如何扩展角度以在每个控制器中具有该功能? Tnx。
编辑:
示例:
$scope.$watch("model",function(newVal) { if (angular.isUndefined(newVal) || newVal == null) return; // do somethings with newVal }
处理这种方式是普遍接受的做法吗?
编辑2:
JSFiddle示例(http://jsfiddle.net/ubA9r/):
<div ng-app="App"> <div ng-controller="MainCtrl"> <select ng-model="model" ng-options="m for m in models"> <option value="" class="ng-binding">Choose model</option> </select> {{model}} </div> </div> var app = angular.module("App",[]); var MainCtrl = function($scope) { $scope.models = ['Apple','Banana']; $scope.$watch("model",function(newVal) { console.log(newVal); }); };
您可以随时为您的应用程序添加它
angular.isUndefinedOrNull = function(val) { return angular.isUndefined(val) || val === null }