在给输入字段赋值并再次删除它之后,Angular ng-model变为空字符串

时间:2016-05-27 14:04:28

标签: javascript html angularjs string null

输入字段:

<input  type="text" data-ng-model="some_model" />

some_model的初始状态为null。当我向输入字段添加一些任意值并再次删除它时,some_model变为空字符串。

我可以做些什么来解决这个问题:

if($scope.some_model != null && $scope.some_model != undefined && $scope.some_model.trim() == 0){
      $scope.some_model=null;
  }

这样可行,但我想知道是否有标准的角度方式这样做?

1 个答案:

答案 0 :(得分:0)

我创建了这个pen来工作,似乎得到了预期的空值。将根据需要更新。随意分叉和插入一些代码。

angular
  .module('app', [])
  .controller('ExampleController', ExampleController)
  .factory('exampleService', exampleService);
ExampleController.$inject = ['$timeout'];

function ExampleController($timeout) {
  var vm = this;
  vm.text = null;
  activate();

  function activate() {
    $timeout(function() {
      if (vm.text != null && vm.text != undefined && vm.text.trim() == 0) {
        vm.text = null;
      }
      console.log(vm.text);

    }, 10);
  }
}

function exampleService() {
  var service = {
    //basic CRUD operations.
    post: post,
    get: get,
    update: update,
    remove: remove
  };
  return service;

  function post() {}

  function get() {}

  function update() {}

  function remove() {}

}
<body ng-app="app">
  <div class="container-fluid" ng-controller="ExampleController as vm">
    <input type="text" ng-model="vm.text" />
  </div>
</body>