0

我正在尝试使用 ng-show ,它只是在存在某些东西时显示它。

<span ng-show="comment">{{comment}}</span>

我在范围 comment="No" 中对此进行了测试,但它隐藏了它。当 comment="Yes" 显示它时,我很困惑为什么会这样,因为在 JavaScript 中我尝试 if (comment) 并且它可以工作......

4

1 回答 1

5

ng-show指令在内部使用一个方法toBoolean

这是它的样子

function toBoolean(value) {
  if (value && value.length !== 0) {
    var v = lowercase("" + value);
    value = !(v == 'f' || v == '0' || v == 'false' || v == 'no' || v == 'n' || v == '[]');
  } else {
    value = false;
  }
  return value;
}

如果你看一下实现,像 no, false,n,0 这样的东西都会评估为 false。

于 2013-07-19T12:15:57.740 回答