Kiedy piszę funkcje obsługi zegarka, sprawdzam parametr newVal na undefinedi null. Dlaczego AngularJS zachowuje się tak, ale nie ma określonej metody narzędziowej? Więc jest, angular.isUndefinedale nie ma angular.isUndefinedOrNull. Nie jest trudno to zaimplementować ręcznie, ale jak rozszerzyć kątowość, aby mieć tę funkcję w każdym kontrolerze? Tnx.
Edycja :
Przykład:
$scope.$watch("model", function(newVal) {
if (angular.isUndefined(newVal) || newVal == null) return;
// do somethings with newVal
}
Czy takie postępowanie jest powszechnie przyjęte?
Edycja 2 :
Przykład 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);
});
};