一尘不染

AngularJS未定义或为null

angularjs

当我编写手表处理函数时,我会在undefined和上检查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);
    });
};

阅读 254

收藏
2020-07-04

共1个答案

一尘不染

您始终可以为您的应用程序完全添加它

angular.isUndefinedOrNull = function(val) {
    return angular.isUndefined(val) || val === null 
}
2020-07-04