Angular 2 绑定所有样式

Angular 2 bind all style

当我不知道样式是什么时如何绑定样式?我有一个带有定义样式的字符串变量的模型,例如:

myStyle1:string="margin-left:10px";
myStyle2:string="margin-right:5px";

如何将这两个变量绑定到一个 div?

以下无效:

<div [style]="myStyle1"></div> <div [style]="myStyle2"></div>

据我所知你可以这样做

HTML:

<div [ngStyle]="myStyle1"></div> <div [ngStyle]="myStyle2"></div>

代码:

myStyle1={'margin-left':'10px'};
myStyle2={'margin-right':'5px'};

行得通,您需要将字符串转换为对象,并且字符串必须是 json 格式。

<div [ngStyle]="myStyle1"></div> <div [ngStyle]="getStyle()"></div>


Style:string="{"margin-right":"10px"}";
getStyle(){
   return (JSON.parse(this.Style));
}