javascript - ng-style 不适用于嵌套对象?

标签 javascript angularjs

这就是我的代码的样子

<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/

相关文章:

javascript - FullCalendarJS : changing select event color

javascript - 在 meteor 应用程序中如何在 cordova config.xml 中添加 orgin=*?

javascript - 使用javascript滚动水平溢出div中心

javascript - 在 JavaScript 中查找对象数组中数组元素的索引?

javascript - 如何根据屏幕上的 View 外观为自动页面滚动制作动画? ( Angular )

javascript - 有条件包括 Angular JS

node.js - 在 AngularJS 应用程序中使用 Nodegit

javascript - _React Js一页应用程序

javascript - 动态创建指令 angularjs 并从新指令获取变量输入

javascript - 如何在重新加载页面或使用 AngularJS 单击 "back"按钮时保存搜索结果