Angularjs 使用范围变量更改角度为1.0与1.2的其他范围变量

Angularjs 使用范围变量更改角度为1.0与1.2的其他范围变量,angularjs,Angularjs,我试图通过Angular中的设置菜单更改某些元素的字体样式。 当使用范围变量更改另一个范围变量中的值时,更改不会立即进行,而是在下一次更改之后进行 这不起作用:(但它在1.1中起作用) 但这确实: 为什么fontColor在第一个JSFIDLE中显示为正确的(新)值,但是font在下一次更改之前不会更新 当使用Angular 1.0.7时,我使用了第一种方法,但是当切换到1.2时,我注意到它不再工作了。 第二种方法是更好的实践(在1.2中)还是有其他方法来实现这一点?将您的ng单击更改为ng更改

我试图通过Angular中的设置菜单更改某些元素的字体样式。 当使用范围变量更改另一个范围变量中的值时,更改不会立即进行,而是在下一次更改之后进行

这不起作用:(但它在1.1中起作用)

但这确实:

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

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

将您的
ng单击更改为
ng更改

 ng-change="applyFontColor()"
请参阅此工作示例:


它不能像您预期的那样工作的原因是,ng click事件在模型值实际更改之前触发。ng change事件在模型值实际更改后触发,这是您想要的真实行为(因为除了实际“单击”单选按钮外,还可以通过其他方式更改单选按钮的值)。

必须有一个更改会影响使用1.2触发ngClick和ngModel/$watch事件的顺序。我试图找到实际的变化,但我找了几分钟后找不到。如果你想的话,看一看,看看你是否能找到答案