Kiedy piszę funkcje obsługi zegarków, sprawdzam parametr newVal na undefined
i null
. Dlaczego AngularJS ma takie zachowanie, ale nie ma szczególnej metody użyteczności? Tak więc istnieje angular.isUndefined
, ale nie angular.isUndefinedOrNull
. Nie jest trudno to wdrożyć ręcznie, ale jak rozszerzyć kątowo, aby mieć tę funkcję w każdym kontrolerze? Tnx.Nieokreślona lub null dla AngularJS
Edit:
Przykład:
$scope.$watch("model", function(newVal) {
if (angular.isUndefined(newVal) || newVal == null) return;
// do somethings with newVal
}
Czy to powszechną praktyką akceptowaną obsłużyć taki sposób?
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);
});
};
Można przełączyć się coffeescript. Występuje znakowy operator postifix, który to robi. –
czy mógłbyś podać prawdziwy przypadek, gdy potrzebujesz takiej funkcjonalności? –
Dlaczego nie [stracić niezdefiniowanej kontroli] (http://stackoverflow.com/a/15992131/188246) i po prostu sprawdzić 'newVal == null'? –