好的,所以我在这里看到了很多这些问题,但我必须错过一些微不足道的事情。
请查看此Plunkr
其中有一个简单的控制器可以设置图像网址。还有一个指令从脚本标记加载到模板中。
我已将其设置为使指令在2秒后更改imageUrl
,但我没有看到任何双向绑定发生。图像应该改变,以及文本。
有人可以解释一下我在这里缺少的东西吗?
我也在控制器中尝试了超时。
感谢任何帮助。
答案 0 :(得分:1)
原因是您正在使用setTimeout更改模型。 Angular并不知道这一点,因为它发生在Angular的“外部”。相反,使用Angular的$ timeout:
http://plnkr.co/edit/9qYpFdnlaOy3QBDDkBUQ?p=preview
有一种方法可以在setTimeout中设置scope.$apply()
之后通过调用scope.imageUrl
手动告诉Angular您已对模型进行了更改,但最好使用$ timeout,因为它会自动发生