2012-06-06 25 views
5

Próbuję użyć kątowych powiązań js w obrębie elementu stylu, ale wydaje się, że nie działa. Czy jest to błąd i czy istnieje lepszy sposób na zrobienie tego?AngularJS w ramach elementu stylu nie działa

<style ng-repeat="test in styles"> 
.test { 
    background-color: {{ test.backgroundColor }}; 
    display: {{ test.display }}; 
    width: {{ test.width }}; 
    height: {{ test.height }}; 
    } 
</style> 

http://jsfiddle.net/cmsanche/PpyVn/

+0

co to ma osiągnąć? jeśli masz więcej niż jeden element tablicy, będziesz miał 2 definicje dla tej samej nazwy klasy. –

+0

Skrzypek był tylko przykładem, że angularjs nie parsował elementu stylu. Mogłabym łatwo dodać coś w rodzaju .test _ {{test.id}}, aby każda nazwa klasy była niepowtarzalna. Pracowałem nad projektem, w którym potrzebowałem ustawić wiele obrazów na podstawie współrzędnych z bazy danych. – cmsanche

Odpowiedz

7

Nie sądzę kątowa analizuje elementy stylu. Prawdopodobnie chcesz użyć dyrektywy ngStyle:

http://docs.angularjs.org/api/angular.module.ng.$compileProvider.directive.ngStyle

<!doctype html> 
<html ng-app> 
<head> 
<script src="http://code.angularjs.org/angular-1.0.0rc10.min.js"></script> 
</head> 
<body> 
<div ng-init="styles=[{backgroundColor: 'red', width:'100px', height: '100px', display: 'block'}]"> 

<div ng-repeat="test in styles" ng-style="test"> 
.test { 
    background-color: {{ test.backgroundColor }}; 
    display: {{ test.display }}; 
    width: {{ test.width }}; 
    height: {{ test.height }}; 
    } 
</div> 
</html> 

Plunker (jak jsFiddle, ale bardziej przyjazne kątowa) Demo

+1

Link do plunkera jest martwy :( –

+0

@JanusTroelsen Zaktualizowałem link –

+2

Chciałbym znaleźć sposób na zrobienie tego w tagu stylu, aby dać 'a: hover' niektóre dynamiczne style ... Jakieś pomysły? – morgs32

1

to teraz działa w nowszych wersjach kątowe.

Tutaj http://jsfiddle.net/PpyVn/4/ jest skrzypce OP z 1.0 zastąpione 1.3.0-rc.3.

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.3/angular.min.js"></script> 
Powiązane problemy