2016-09-14 30 views
2

我需要通过ng-style设置从配置对象元素的背景,但我不能这样做,对于一些未知的原因,这对我来说真的很奇怪,我真的找不到理由。吴式不工作的背景

元素我想配置:

<div id="progress-l" ng-style="{ 'width': pblc.options.width, 'height': pblc.options.height, 'background': plbc.options.color }"></div> 

pblc代表控制器在这里,我使用controllerAs选项

配置对象:

this.progressLOptions = { 
    color: '#F0F3F4', 
    width: '200px', 
    height: '20px', 
}; 

最奇怪的是宽度和高度设置,在呈现html我看到这个:

<div id="progress-l" ng-style="{ 'width': pblc.options.width, 'height': pblc.options.height, 'background': plbc.options.color }" style="width: 200px; height: 20px;"> 
</div> 

我真的不知道如何可以ng样式工作是这样的。有没有我无法找到的背景问题?

+0

什么是'pblc.options',正如我可以看到你有'progressLOptions',你有没有搞砸范围变量名? –

+0

@PankajParkar nope,我只是使用'controllerAs'作为指令,如果是命名,高度和宽度不会设置得太 – kemsbe

回答

4

更新答案: 你有一个错字 - 的plbc.options.color代替pblc.options.color

最可能的原因是,plbc.options.color是不确定的,空的,而不是在范围或配置错误。这是在没有语法错误的情况下。

尝试输出其作为模板的表达 - {{plbc.options.color}},并检查它。

5

使用'background-color'代替'background'

+0

谢谢,但是还是没有运气( – kemsbe

+0

顺便说一句,你的颜色几乎是白色的 – nubinub

+1

背景也有效在这种情况下没有必要的背景色 – KrishCdbry

3

我已经改变了你的代码了一下,请看看这个

<div id="progress-l" ng-style="{ 'width': progressLOptions.width, 'height': progressLOptions.height, 'background': progressLOptions.color }" style="width: 200px; height: 20px;"> 
    </div> 

JS

$scope.progressLOptions = { 
    color: '#000', 
    width: '200px', 
    height: '20px', 
    }; 

这是工作。如果你愿意,你this.progressLoptions然后在HTML中使用使用$范围,而不是这个或其他

<body ng-controller="somename as controllerName"> 
and then access this using somename.functionName 

演示:https://jsbin.com/zihazi/edit?html,js,output

+0

谢谢你的回答,这是正确的,但事实证明,我有一个错字 – kemsbe

+0

Thatz爽!这就是为什么我做演示的是你的逻辑是正确的,但在某个地方有一个错误..!无论如何解决atlast。干杯! – KrishCdbry