我正在使用AngularJs(第1版)开始一个项目。在我开始怀疑我的项目质量之前,这很好。因为现在我尽量避免滥用$scope
,$scope.$apply
,$scope.broadcast
以及其他类似的好事。
现在,我的所有_controller_s都在使用var vm = this;
而不是$scope
,我的指令使用的是回调而不是$scope.$apply
。我遇到的问题是更改没有更新。
虽然从指令内的模型属性中使用$scope.$apply
会自动更新视图,但是对更新模型属性的控制器的回调不是这种情况。然后一个解决方法是使用_event_s,但由于不建议使用$scope.$broadcast
和他的朋友,我必须创建自己的观察者。
但最后,我有失去AngularJs酷炫功能的感觉。并开始怀疑专业人士是如何做的。
非常感谢您的建议。
答案 0 :(得分:1)
Calbacks不会触发角度消化。但事件也不会引发消化。问题是你通常想在以下之后调用摘要: - 用户点击 - 用户输入 -http响应 -... 对于所有这些情况,都有触发摘要的内置函数:$ http,ng-click,ng-change等。