2014-01-25 48 views
5

之後我試圖根據ng-repeat中元素的屬性來編輯邊框底色個體。AngularJs ng-style ::

下面是如何構造html的示例。更改後的風格是 .active-tool::after {border-bottom-color: rgb(247, 153, 248)}

HTML:

<div data-ng-repeat="row in rows"> 
     <div class='container'> 
      <div 
       data-ng-style="getPrimaryColor(tvShow)" 
       class='folder tvshow' 
       data-ng-class="isActiveFolder(tvShow)" 
       id='{{tvShow.id}}' 
       data-ng-repeat="tvShow in row track by $index"> 

       <div data-ng-click="setSelectedTvShow(tvShow)"> 
        <p class="tvshow-name">{{tvShow.name}}</p> 
       </div> 
      </div> 
     </div> 

controller.js

$scope.isActiveFolder = function(tvShow) { 
     if($scope.selectedTvShow !== null && tvShow.id !== null) { 
      return $scope.selectedTvShow===tvShow.id ? 'active-tool' : ''; 
     } 
    }; 

    $scope.getPrimaryColor = function(tvShow) { 
     if($scope.selectedTvShow !== null) { 
      var result = '{' + tvShow.id + '.active-tool::after {border-bottom-color: rgb(247, 153, 248)}}'; 
      console.log(result); 
      return result; 
     }; 

任何想法如何可以這樣做?

回答

0

不能像這樣使用ng-style,因爲html樣式屬性不支持css選擇器

其實,你可以用任何的JavaScript做它在所有:

標記:

<div data-ng-repeat="row in rows"> 
    <div class='container'> 
     <div class='folder tvshow' 
      data-ng-class="{active-tool : selectedTvShow === tvShow.id}" 
      id='{{tvShow.id}}' 
      data-ng-repeat="tvShow in row track by $index"> 

      <div data-ng-click="selectedTvShow = tvShow.id"> 
       <p class="tvshow-name">{{tvShow.name}}</p> 
      </div> 
     </div> 
    </div> 
</div> 

CSS:

.active-tool::after { 
    border-bottom-color: rgb(247, 153, 248); 
} 
+0

謝謝,但我們的目標是計算的下邊框色的顏色。 – user3235627

4

我用這個快速黑客:

把這個模板中:

<style type="text/css"> 
    .active-tool::after { 
     border-bottom-color: {{getShowBorderColor(tvShow)}}; 
    } 
</style> 

,然後在你的控制器:

$scope.getShowBorderColor = function(tvShow){ 
    return tvShow.color; // change this for how you want to calculate the color 
}; 
+0

這是否仍然有效?我一直無法獲得有角度的把手在css – woojoo666

+0

內部工作,它不在css中。它在包含這個樣式標籤的html(模板)文件中。 – Bumbolt