AngularJs和双向绑定。范围。$适用()

时间:2013-10-03 09:29:24

标签: angularjs data-binding

大家!

Here是我的工作,而不是用于演示目的的完整示例。 简而言之,假设我有一些控制和一些控制事件(选择tv节点),在这种情况下我改变了一些范围变量,比如$ scope.test,我希望它能改变(它在html页面上的值)。但是在提供的示例代码中它不会改变,除非我使用范围。$ apply()方法(注释),当使用范围。$ apply()时,一切都按预期工作。

所以,我的问题更多是关于使用范围的适用性。$ apply()方法。 有很多与此相关的文章,其中大多数都建议不要使用apply()方法,除非你正在开发角度指令 或一些高级绑定风景。这就是为什么我对我相对简单的案子有点困惑。

提前致谢。

1 个答案:

答案 0 :(得分:1)

规则是每当你改变Angular必须响应Angular框架的 之外的状态时调用$scope.$apply(),例如由jQuery处理的事件(或者在你的情况下由Kendo处理)事件处理程序。

此外$scope处理程序中的select:不可用,因为处理程序是Kendo,$scope是Angular。 (实际上,您的示例在单击标签时会抛出Cannot set property 'test' of undefined。)