Javascript Angularjs:获取所选选项的样式
我试图获取一个选项的样式,当它被选中时,将该样式设置为select(父)元素 我无法获取选择选项whn selected的样式。只有它的值可用 有没有一种方法可以把它放进去? 请查找下面的代码,需要一些帮助Javascript Angularjs:获取所选选项的样式,javascript,css,angularjs,Javascript,Css,Angularjs,我试图获取一个选项的样式,当它被选中时,将该样式设置为select(父)元素 我无法获取选择选项whn selected的样式。只有它的值可用 有没有一种方法可以把它放进去? 请查找下面的代码,需要一些帮助 <div ng-controller="MyController"> <select ng-model="element" ng-change="getElement(element)" ng-style="getSelectedStyle(color)">
<div ng-controller="MyController">
<select ng-model="element" ng-change="getElement(element)" ng-style="getSelectedStyle(color)">
<option ng-repeat=option in options" ng-style="{'color' : option.color}"> //NG-STYLE
{{option.value}}
</option>
</select>
</div>
(function(){
app.controller('MyController', function($scope){
$scope.element;
$scope.getElement = function(item){
console.log(item);
};
$scope.color = 'red';
$scope.getSelectedStyle = function(){
return { 'color' : $scope.color };
};
$scope.options = [
{
value : 'ezez',
color : 'blue'
}
];
});
})();
您必须以ng样式传递对象,因此请尝试以下操作
ng-style="{'color': option.color}"
在模板中使用getSelectedStyle(color)
,但在控制器中使用
$scope.getSelectedStyle = function(){
return { 'color' : $scope.color };
};
您的$scope.color
在哪里?我认为在getSelectedStyle()中,您应该使用$scope.element
并在函数中执行此操作
$scope.getSelectedStyle = function(){
return { 'color' : $scope.element.color };
};
您的标记将是
<select ng-model="element" ng-change="getElement(element)" ng-style="getSelectStyle(color)">
<option ng-repeat="option in options" ng-style="{'color': option.color == element.color ? 'option.color': 'defaultColor' }">
{{option.value}}
</option>
</select>
{{option.value}}
视图中有getSelectStyle
函数,但作用域的函数名为getSelectedStyle
这只是一个输入错误…选项。父元素中没有颜色。问题是访问样式,而不是显示样式