我是trying to understand $ scope以及控制器和视图如何组合在一起。当Angular首次运行DOM元素时,当它找到ng-controller时它会做什么?我知道当它找到绑定变量时,它会创建watch或keydown事件,也会为它自己注入的事件创建并监视其他相关事件。它是通过为给定的DOM元素创建范围来完成的。因此,当项目在视图或模型中更改时,它可以将值推送到适当的位置。我的问题是何时实例化控制器并将$ scope注入其中以及$ scope在事件发生时如何调用关联的方法? 感谢
答案 0 :(得分:2)
为了清楚起见,您必须浏览其网站上的文档。根据我的理解,当框架在视图上遇到ng-controller属性时,它将附加并实例化控制器。直接在控制器功能中的任何代码都将在那里运行。如果您希望代码仅在某些事件(如click事件)上运行,那么您将ng-click='myFunction()'
放在元素上,myFunction
作为$ scope属性。如果您想在其他事件的控制器内部运行代码,则需要在控制器中使用$scope.$on
并$scope.$broadcast
在外部触发事件。请注意,控制器应该只有业务逻辑。任何直接操作DOM的代码都在指令范围内。在指令中使用scope
属性来绑定控制器和指令之间的变量和函数。
同样,正如我所说,有助于浏览youtube上的文档和视频,以便更好地了解AngularJS的基础。