Wenn ich Funktionen für die Uhrverarbeitung schreibe, überprüfe ich NewVal param auf undefined
und null
. Warum hat AngularJS ein solches Verhalten, hat aber keine spezielle Nutzungsmethode? So gibt es angular.isUndefined
aber nicht angular.isUndefinedOrNull
. Es ist nicht schwer, das per Hand zu implementieren, aber wie kann man Winkel erweitern, um diese Funktion in jedem Controller zu haben? Tnx.Nicht definiert oder null für AngularJS
bearbeiten:
Das Beispiel:
$scope.$watch("model", function(newVal) {
if (angular.isUndefined(newVal) || newVal == null) return;
// do somethings with newVal
}
Ist es üblich akzeptierte Praxis, eine solche Art und Weise zu handhaben?
Edit 2:
Das JSFiddle Beispiel (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);
});
};
Sie wechseln Coffee könnte. Es gibt einen Fragezeichen-Posifix-Operator, der das tut. –
Könnten Sie bitte den echten Fall angeben, wenn Sie solche Funktionen benötigen? –
Warum nicht [die nicht definierte Überprüfung verlieren] (http://StackOverflow.com/a/15992131/188246) und einfach "newVal == null" überprüfen? –