我最近注意到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
允许赋值运算符是错误还是功能?
答案 0 :(得分:2)
这是一个JavaScript表达式评估,而不是特殊的Angular事件。
progressBar0.MaxValue = 289; //First element of array
progressBar1.MaxValue = 151; //2nd
progressBar3.MaxValue = 69; // etc...
如果您看到控制台,它将始终打印 int count = 0;
foreach (var item in sortedArray)
{
new Thread(async () =>
{
ProgressBar p = Controls.Find("progressbar" + count.ToString(), true)[0] as ProgressBar;
//how to find the number to increment so they all finish at the same time ? p.Increment(i);
}).Start();
cout +=1;
}
。同样,You are not converting validation errors to array.Please use the below function and pass validation errors as parameter.
public function validationErrorsToString($errArray) {
$valArr = array();
foreach ($errArray->toArray() as $key => $value) {
$errStr = $key.' '.$value[0];
array_push($valArr, $errStr);
}
if(!empty($valArr)){
$errStrFinal = implode(',', $valArr);
}
return $errStrFinal;
}
//Function call.
$result = $this->validationErrorsToString($validator->errors());
将始终将类var x;
console.log(!!(x = 'some-text'));
分配给元素,因为true
将始终返回ng-class="{active: cat = 'some-text'}"
作为其布尔等效值。
此外,值得注意的是,active
在每次迭代中都会更改为cat = 'some-text'
。这意味着您的true
对象只是cat
的数组。
如评论中提到的@Mr_Perfect,如果您有条件地需要将some-text
分配给您的元素,请将cats
更改为some-text
。
答案 1 :(得分:1)
这是因为,当您为cat
分配一个值时,它会被评估为true,因为cat
不是空的或未分开的
答案 2 :(得分:1)
{'active': cat === 'some-text'}
是添加类的正确方法,some-text
只是一个字符串,如果它与变量cat
匹配,则active
类将添加到{{} 1}}元素
即使你可以这样做,
li
修改强>
ng-class="{(condition) ? 'condition_true_class' : 'condition_false_class'}"
在这种情况下,<li ng-repeat="cat in cats" ng-class="{active: cat = 'some-text'}">{{cat}}</li>
会返回cat="some-text"
字符串,该字符串始终为true,some-text
类将添加到active
元素和li
cat
}当您使用赋值运算符时,变为{{}}
。
some-text
在这种情况下,如果<li ng-repeat="cat in cats" ng-class="{active: cat == 'some-text'}">{{cat}}</li>
值与cat
匹配,那么some-text
类将添加到active
,而li
值将不会因您使用而改变逻辑运算符cat
或==
答案 3 :(得分:0)
如果您需要使用<li ng-repeat="cat in cats" ng-class="{'active': cat == 'some-text'}">{{cat}}</li>
类活动,请尝试以下方法:
{{1}}
答案 4 :(得分:0)
在GitHub中提出了一个问题并得到了澄清
问题:https://github.com/angular/angular.js/issues/16049
问题 - 评论:https://github.com/angular/angular.js/issues/16049#issuecomment-308092056