我正在尝试通过Angular中的设置菜单更改某些元素的字体样式。 使用范围变量更改另一个范围变量中的值时,更改不会立即生效,而是在下一次更改后首先生成。
这不起作用:http://jsfiddle.net/VRQH8/11/(但它在1.1中工作)
但这样做:http://jsfiddle.net/VRQH8/12/
为什么fontColor
在第一个jsFiddle中显示为正确的(新)值,但font
在下次更改之前不会更新?
我在使用Angular 1.0.7时使用的是第一种方法,但是当切换到1.2时,我注意到它不再工作了。 第二种方法是更好的实践(在1.2中)还是有另一种方法来实现这一目标?
答案 0 :(得分:0)
将您的ng-click
更改为ng-change
。
ng-change="applyFontColor()"
请参阅此工作示例:http://jsfiddle.net/VRQH8/14/
它没有按预期工作的原因是因为ng-click事件在模型值实际更改之前被触发。 ng-change事件在模型值实际更改后触发,并且是您想要的真实行为(因为除了实际上可以有其他方法来更改单选按钮的值"单击"在其上)。