Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs ngClass指令:我可以使用多个表达式添加多个类吗?_Angularjs_Ng Class - Fatal编程技术网

Angularjs ngClass指令:我可以使用多个表达式添加多个类吗?

Angularjs ngClass指令:我可以使用多个表达式添加多个类吗?,angularjs,ng-class,Angularjs,Ng Class,下面是我想要实现的一个例子 data-ng-class="{ 'tooltip_show' : showTooltip , 'tooltip__' + brand.settings.name }" 但它不起作用。看起来您没有为第二项设置值。你是说什么 { 'tooltip_show' : showTooltip , 'tooltip__' + brand.settings.name : tooltipText } 或 ? 这在这个垃圾箱里对我有用。如果没有大括号,我无法对其进行评估,尽管我

下面是我想要实现的一个例子

data-ng-class="{ 'tooltip_show' : showTooltip , 'tooltip__' + brand.settings.name }" 

但它不起作用。

看起来您没有为第二项设置值。你是说什么

{ 'tooltip_show' : showTooltip , 'tooltip__' + brand.settings.name : tooltipText }


这在这个垃圾箱里对我有用。如果没有大括号,我无法对其进行评估,尽管我不确定这是否是最佳做法。

使用数组形式表示
ng类

<div ng-class="[showTooltip ? 'tooltip_show' : '',
                'tooltip__' + brand.settings.name]">
<div>
后一种方法更容易调试,更适合于复杂的计算

另见


为什么在一个ng类中有两个值用于“tooltip\u show”?我需要一个依赖于showTooltip的类,另一个依赖于此变量brand.settings.name。我可以用另一种方式来做吗?正如@Harryot提到的。这应该足够了{'tooltip\u show':showTooltip,'tooltip\u'+brand.settings.name:tooltipText}这不起作用。发生了什么?你有错误吗?你能发布更多关于如何实现这一目标的代码吗?'tooltip\uuuuu'+brand.settings.name-当我只写这部分时,我会收到类似于class=“tooltip\uuuu class”的消息。brand.settings.name-它是可变的,取决于页面。@СааСПаПаПааПаПааПаП1072?您可以只使用一个类,例如:
class=“{{'tooltip\+brand.settings.name}”data ng class=“{'tooltip\'u show':showToolTip}”
请参见,在对同一元素使用
ngClass
指令时,不应在
class
属性的值中使用插值。瞧。@georgeawg是的,你说得对。我认为对这个问题的一个更好的答案可能是,从一开始就对房地产的建造方式进行重组。如中所示,不是在HTML中,而是在Javascript中。是的,这就是我认为您可以做的@СаСПаПааПааПаПаПаПаП
data-ng-class="{ 'tooltip_show': showToolTip, {{ 'tooltip_' + brand.settings.name }}: true }"
<div ng-class="[showTooltip ? 'tooltip_show' : '',
                'tooltip__' + brand.settings.name]">
<div>
<div ng-class="computeClass(tooltip_show, brand.setting.name)">
</div>
$scope.computeClass(show, name) {
    var obj = {};
    obj.showTooltip = show;
    obj['tooltip_'+name] = true;
    return obj;
};