angularフォームテンプレートのHTMLタグにマルチCSSルールを適用する必要があります。
<div class="form-control" id="data.objectStyle"
ng-model="data.type"
ng-style="getStyle(data.objectStyle)">
{{data.objectStyle.title}}
</div>
コントローラのgetStyle関数:
$scope.getStyle = function (taskType) {
return {
background-color:taskType.backColor,
color: taskType.color,
font-size:taskType.fontSize,
font-family:taskType.font
}
)};
taskTypeオブジェクト:
{
backColor:'#006',
color:'#56DA',
fontSize:12,
font:'New Times Roman'
}
getStyle
関数はスタイルを返しません!何をすべきか?
docs は、無効なJSONオブジェクトキーではないように、キーを引用符で囲む必要があることを指定します。
return {
"background-color": taskType.backColor,
"color": taskType.color,
"font-size":taskType.fontSize,
"font-family":taskType.font
}
ng-style を使用したことはありませんが、オブジェクトを取得するようには見えません。むしろそれはng-classと同等ですが、単一のスタイルのためのものです。
関数を次のように変更してみてください:
$scope.getStyle = function (taskType) {
return {
"background-color:"+taskType.backColor+
";color:"+ taskType.color+
";font-size:"+taskType.fontSize+
";font-family:"+taskType.font+";";
}
)};
バインドで通常のスタイルタグを使用するためのhtml:
<div class="form-control" id="data.objectStyle"
ng-model="data.type" style="{{getStyle(data.objectStyle)}}">