2017-08-22 60 views
0

是否有可能做这样的事情:AngularJS - 有条件ngStyle

<span data-ng-style="vm.myFlag == true ? 'background-color:{{myObject.color}};padding:2px;border-radius:2px;' : ''"> 

这如果 - 否则不起作用。 ngClass不起作用,因为颜色是我的对象的属性。

+0

尝试:' –

+0

尝试:

+0

不知道{{myObject.color}}是否可以正常工作;需要测试。 –

回答

0
<span data-ng-style="vm.myFlag && {'background-color':myObject.color}"> 
1

https://docs.angularjs.org/api/ng/directive/ngStyle

的NG-风格基本示例:

<span ng-style="{'background-color':'blue'}">Sample Text</span> 

加三元运算符有条件的造型在此预期:

<span data-ng-style="(vm.myFlag == true) ? {'background-color': myObject.color, 'padding': '2px', 'border-radius': '2px'} : {}"> 
+0

想通过增加一些解释来改进代码专用的答案吗? – Yunnosch

0

你可以这样做:

<span data-ng-style="vm.geMyStyle()"> 

和控制器:

vm.getMyStyle= func(){ 

    let style = vm.myFlag == true ? 'background-color:' 
    +myObject.color+';padding:2px;border-radius:2px;' : ''; 

    return style; 
} 

,但你也应该检查是否存在颜色特性集。