gpt4 book ai didi

javascript - ng-class 允许赋值运算符。是错误还是功能?

转载 作者:行者123 更新时间:2023-11-29 17:50:18 28 4
gpt4 key购买 nike

我最近注意到 ng-class允许赋值运算符是错误还是功能。

<li ng-repeat="cat in cats" ng-class="{active: cat = 'some-text'}">{{cat}}</li>

正确的用法

<li ng-repeat="cat in cats" ng-class="{active: cat == 'some-text'}">{{cat}}</li>

也看看plunk behaviour

允许赋值运算符是错误还是功能?

最佳答案

这更像是一个 JavaScript 表达式求值,而不是一个特殊的 Angular 东西。

var x;
console.log(!!(x = 'some-text'));

如果您看到您的控制台,它将始终打印true。同样,ng-class="{active: cat = 'some-text'}" 总是将类 active 分配给元素,因为 cat = ' some-text' 将始终返回 true 作为其 bool 值等价物。

此外,值得注意的是,cat 将在每次迭代中更改为 some-text。这意味着您的 cats 对象将只是一个 some-text 数组。

正如@Mr_Perfect 在评论中提到的,如果您有条件地需要将active 分配给您的元素,请将= 更改为===

关于javascript - ng-class 允许赋值运算符。是错误还是功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517917/

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