当NgModel更改时,Angular2 ngStyle不会更新

时间:2017-04-09 13:12:32

标签: angular ng-style

我有以下HTML结构:

<input type="text" [(ngModel)]="styleObj.backgroundColor">
<div [ngStyle]="styleObj">change style of this div</div>

和js / ts:

styleObj = {
  backgroundColor: "black"
}

起初,它似乎按预期工作。 div的bgColor是黑色的,只要我通过输入键入BgColor属性的有效值(例如:“white”),它就会更新。

但问题是当我输入无效值时,ngStyle什么都不做。它不会更新/删除旧值。

示例:当我输入“white”(有效)时,然后更改为“whitee”(无效),背景保持白色。我可以更进一步说“whiteeblablabla”,它不会改变。它只会在我输入BgColor的有效值时改变。

我正在使用Angular 4.0.0。这在Angular 1上没有发生。我猜Angular在实际进行更改以获得更好的性能之前会对属性进行验证。这种行为对某些应用程序有好处,但在我的情况下,我希望用户能够输入自己的值并获得视觉反馈,这没有任何意义。

我是对的吗?有解决方法/解决方案吗?或者我做错了什么?

0 个答案:

没有答案