<分区>
我遇到过那些正在检查 user.rank
属性的运算符:
<div ng-show="!!user.rank">
{{user.rank}}
</div>
<button ng-show="!user.rank" ng-click="addRank(user)">Add Rank</button>
它们有何不同,我们可以用什么代替?
<分区>
我遇到过那些正在检查 user.rank
属性的运算符:
<div ng-show="!!user.rank">
{{user.rank}}
</div>
<button ng-show="!user.rank" ng-click="addRank(user)">Add Rank</button>
它们有何不同,我们可以用什么代替?
最佳答案
单个爆炸 (!
) 用于取反 bool 值。
双击 (!!
) 用于将 truthy/falsey 值强制转换为 bool 值 true 或 false。
例如
var x = 0; // a falsey value
console.log(x); // logs 0
console.log(!x)// logs true
console.log(!!x)// logs false
var y = "Hello world"; // a truthy value
console.log(y); // logs "Hello world"
console.log(!y)// logs false
console.log(!!y)// logs true
适用于您的具体情况
ng-show="!!user.rank"
ng-show
无疑需要一个实际的 bool 值,而 user.rank
显然要么是真值要么是假值 - 将其强制转换为 bool 值可以适本地满足您的 Angular Directive(指令)。
关于javascript - 之间的区别!和 !在 JavaScript 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44414933/
相关文章:
javascript - 尝试 k6 运行 js 文件时获得权限被拒绝
javascript - jQuery 点击函数找不到选择器
javascript - 使用 Web API 存储库模式编辑/更新
angularjs - IE 11 - 图像在破坏 View 后保留在浏览器内存中
javascript - Angular 4通过主机监听器更新输入文本值
javascript - 有关 async/await 与 Promises 和事件循环的性能问题
javascript - 选择中的 ng-change 指令无法正常工作
javascript - Angularjs - 谷歌地图设置多个标记的缩放
javascript - 使用 angular 指令绘制 highchart 饼图但是当我在成功函数中使用它时它不起作用