Ng 风格不适用于背景
Ng-style not working for background
我需要通过 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-style 怎么能这样工作。我找不到背景有什么问题吗?
我稍微修改了你的代码,请看这个
<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',
};
正在运行。使用 $scope 而不是 this 或 else 如果你想 this.progressLoptions 那么在 HTML 中使用
<body ng-controller="somename as controllerName">
and then access this using somename.functionName
更新后的答案:
你有一个错字 - plbc.options.color
而不是 pblc.options.color
最可能的原因是 plbc.options.color
未定义、为空、不在范围内或配置错误。当然,这是为了防止没有语法错误。
尝试将其输出为模板中的表达式 - {{plbc.options.color}}
并检查它。
我需要通过 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-style 怎么能这样工作。我找不到背景有什么问题吗?
我稍微修改了你的代码,请看这个
<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',
};
正在运行。使用 $scope 而不是 this 或 else 如果你想 this.progressLoptions 那么在 HTML 中使用
<body ng-controller="somename as controllerName">
and then access this using somename.functionName
更新后的答案:
你有一个错字 - plbc.options.color
而不是 pblc.options.color
最可能的原因是 plbc.options.color
未定义、为空、不在范围内或配置错误。当然,这是为了防止没有语法错误。
尝试将其输出为模板中的表达式 - {{plbc.options.color}}
并检查它。