使用范围变量更改其他范围变量Angular 1.0 vs 1.2

时间:2014-04-15 13:56:29

标签: angularjs

我正在尝试通过Angular中的设置菜单更改某些元素的字体样式。 使用范围变量更改另一个范围变量中的值时,更改不会立即生效,而是在下一次更改后首先生成。

这不起作用:http://jsfiddle.net/VRQH8/11/(但它在1.1中工作)

但这样做:http://jsfiddle.net/VRQH8/12/

为什么fontColor在第一个jsFiddle中显示为正确的(新)值,但font在下次更改之前不会更新?

我在使用Angular 1.0.7时使用的是第一种方法,但是当切换到1.2时,我注意到它不再工作了。 第二种方法是更好的实践(在1.2中)还是有另一种方法来实现这一目标?

1 个答案:

答案 0 :(得分:0)

将您的ng-click更改为ng-change

 ng-change="applyFontColor()"

请参阅此工作示例:http://jsfiddle.net/VRQH8/14/

它没有按预期工作的原因是因为ng-click事件在模型值实际更改之前被触发。 ng-change事件在模型值实际更改后触发,并且是您想要的真实行为(因为除了实际上可以有其他方法来更改单选按钮的值"单击"在其上)。