在ng-model中检查对象中的param

时间:2016-09-05 16:05:52

标签: angularjs

我列出了一些人,如果此人有评论字段,您可以在input:text中修改此信息。所以当人有这个领域时,我会显示这个字段。但我有一个问题,当我删除以前的评论 - 输入是隐藏。这是person.comment = "",我觉得它很像假。

<input person="text" ng-show='person.comment' ng-model='person.comment'>

我尝试做这件事:

ng-show='person.comment || person.comment === ""'

但也许存在不同的方式?像comment in personMy plnkr

2 个答案:

答案 0 :(得分:1)

要检查对象是否在javascript中有密钥,您可以写:

ng-show="person.hasOwnProperty('comment')"

来自How do I check if an object has a key in JavaScript?

答案 1 :(得分:0)

在$ scope.stuff数组上添加Simply angular.forEach循环,如: -

<强>的js

var app = angular.module('App', []);

app.controller('Ctrl', function($scope) {
    $scope.hideVariable = true;
    $scope.stuff = [
      {
       name: 'Jack',
       age : 22,
       comment : 'good boy'
      },
      {
       name: 'Bob',
       age : 23,
       comment : 'likes beer'
      },
      {
       name: 'Alisa',
       age : 21,
       comment : 'pretty girl'
      },
      {
       name: 'Jane',
       age : 25,
       comment : "she's fine"
      },
      {
       name: 'Mike',
       age : 19,
       comment : 'playing guitar'
      }
    ]
   angular.forEach('$scope.stuff', function (data) {
      if(data.comment === null || data.comment === 'undefined' ) {
        $scope.hideVariable = false;
      }
   })
})

<强> HTML

<input person="text"ng-show="hideVariable" ng-model='person.comment'>

完成此plunker