这就是我的代码的样子
<md-button ng-style="connectivityColorFor({{ connection.org }})">{{ connection.skyhigh.api }}</md-button>
在控制台上,我明白了
connectivity:{"api":"connected","collector":"not_connected"}
但是当我这样做时
<md-button ng-style="connectivityColorFor({{ connection.org.api }})">{{ connection.skyhigh.api }}</md-button>
我明白
connectivity:undefined
在JS
上,我的代码是
$scope.connectivityColorFor = function(connectivity) {
console.log('connectivity:' + JSON.stringify(connectivity));
return {"background-color": connectivityTypes[connectivity]}
}
var connectivityTypes = {
'connected': '#8BC34A',
'not_configured': '#EF6C00',
'not_connected': '#EF5350'
}
这里出了什么问题?
最佳答案
不需要对参数进行插值,ngStyle
指令$eval
-s针对范围的整个表达式。您应该简单地使用
<md-button ng-style="connectivityColorFor(connection.org.api)"></md-button>
Here是一个工作简化示例。
关于javascript - ng-style 不适用于嵌套对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33767402/