Cuando escribo funciones de manejo de relojes, verifico el parámetro newVal en undefinedy null. ¿Por qué AngularJS tiene tal comportamiento, pero no tiene un método de utilidad particular? Entonces hay angular.isUndefinedpero no angular.isUndefinedOrNull. No es difícil implementar eso a mano, pero ¿cómo extender el angular para tener esa función en cada controlador? Tnx.
Editar :
El ejemplo:
$scope.$watch("model", function(newVal) {
if (angular.isUndefined(newVal) || newVal == null) return;
// do somethings with newVal
}
¿Es una práctica común y aceptada manejar de esa manera?
Edición 2 :
El ejemplo de 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);
});
};