如何有条件地应用ng风格的动态值?

Mis*_*lis 8 javascript css angularjs

我想申请一个background-colorng-style有条件时,颜色值可以被更新$scope.

以下是我的范围变量:

$scope.someone = { id: '1', name: 'John', color: '#42a1cd' };
$scope.mainId = 1;
Run Code Online (Sandbox Code Playgroud)

实际上我没有使用任何条件来应用背景颜色,它完成了:

<div ng-style="{'background-color': someone.color}">
    {{someone.name}}
</div>
Run Code Online (Sandbox Code Playgroud)

这里的想法是仅在someone.id == mainId应用此背景颜色.我尝试了几种解决方案,但它似乎不是正确的合成器:

  • ng-style="{{someone.id == mainId}} ? ('background-color': {{someone.color}}) : null"
  • ng-style="{ ('background-color': someone.color) : someone.id == mainId }"

JSFiddle用于测试

有人知道如何实现这一目标吗?

Fis*_*sio 7

这似乎很好。

ng-style="{'background-color': person.id === mainId ? person.color : ''}"
Run Code Online (Sandbox Code Playgroud)

请参阅由两个人更新的提琴-一个人mainId具有背景色,而另一个人则没有:http : //jsfiddle.net/fgc21e86/7/