Javascript Angularjs:获取所选选项的样式

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)">

我试图获取一个选项的样式,当它被选中时,将该样式设置为select(父)元素

我无法获取选择选项whn selected的样式。只有它的值可用

有没有一种方法可以把它放进去? 请查找下面的代码,需要一些帮助

<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
这只是一个输入错误…选项。父元素中没有颜色。问题是访问样式,而不是显示样式