首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过函数获取ng-style的多css规则?

如何通过函数获取ng-style的多css规则?
EN

Stack Overflow用户
提问于 2014-03-11 18:12:07
回答 1查看 39.8K关注 0票数 14

我需要应用多css规则,以html标签的角度形式模板。

代码语言:javascript
复制
<div class="form-control" id="data.objectStyle"  
  ng-model="data.type" 
  ng-style="getStyle(data.objectStyle)">
{{data.objectStyle.title}}
</div>

控制器中的getStyle函数:

代码语言:javascript
复制
$scope.getStyle = function (taskType) {
    return {
         background-color:taskType.backColor,
         color: taskType.color,
         font-size:taskType.fontSize,
         font-family:taskType.font
    }
)};

taskType对象:

代码语言:javascript
复制
{
    backColor:'#006',
    color:'#56DA',
    fontSize:12,
    font:'New Times Roman'
}

getStyle函数没有返回样式!该怎么办呢?

EN

回答 1

Stack Overflow用户

发布于 2014-04-23 06:33:36

编辑

docs指定您需要用引号将键括起来,这样它们就不是无效JSON对象键:

代码语言:javascript
复制
return {
     "background-color": taskType.backColor,
     "color": taskType.color,
     "font-size":taskType.fontSize,
     "font-family":taskType.font
}

老答案(不使用ng样式)

虽然我从未使用过ng-style,但它似乎不接受对象。相反,它等同于ng-class,但用于单一样式。

尝试将您的函数更改为:

代码语言:javascript
复制
$scope.getStyle = function (taskType) {

        return {
         "background-color:"+taskType.backColor+
         ";color:"+ taskType.color+
         ";font-size:"+taskType.fontSize+
         ";font-family:"+taskType.font+";";
    }
)};

以及通过绑定使用常规样式标记的html:

代码语言:javascript
复制
<div class="form-control" id="data.objectStyle"  
ng-model="data.type" style="{{getStyle(data.objectStyle)}}">
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22322567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档