5

スタイル要素内でAngularjsバインディングを使用しようとしていますが、機能していないようです。これはバグですか?これを行うためのより良い方法はありますか?

<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/

4

2 に答える 2

7

Angularがスタイル要素を解析するとは思いません。おそらく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(jsFiddleに似ていますが、Angularに適しています)デモ

于 2012-06-06T01:06:06.150 に答える
1

これは、Angular の新しいバージョンで機能するようになりました。

ここでhttp://jsfiddle.net/PpyVn/4/は、1.0 を 1.3.0-rc.3 に置き換えた OP フィドルです。

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.3/angular.min.js"></script>
于 2014-09-29T04:16:07.027 に答える