gpt4 book ai didi

javascript - AngularJS ng-if 问题与 'f' 和 'F'

转载 作者:可可西里 更新时间:2023-11-01 02:57:17 25 4
gpt4 key购买 nike

任何人都可以向我解释为什么 Angularjs ngIf 指令读取 'f' 和 'F' 像 false 吗?

不起作用的简单示例:

  <input type="text" ng-model="test" />
<div ng-if="test">{{test}}<div>

如果你输入 'f' 或 'F' 在 div 中没有任何显示,任何其他字母或正弦都可以。

演示:http://plnkr.co/edit/wS4PqmARXG2fsblUkLpH?p=preview

最佳答案

ngIf 使用 toBoolean 检查 internally .这是 toBoolean 本身:

function toBoolean(value) {
if (typeof value === 'function') {
value = true;
} else 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;
}

如您所见,不仅 f 字母会有问题,'0'、'no'、'n' 等也会有问题。虽然不会修复.但是 toBoolean 可能会在未来的版本中被删除。

请参阅 Github 上的讨论:https://github.com/angular/angular.js/issues/1229?source=cc

关于javascript - AngularJS ng-if 问题与 'f' 和 'F',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21348756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com