0

试图了解$scope 以及控制器和视图是如何连接在一起的。当 Angular 第一次遍历 DOM 元素时,当它找到 ng-controller 时,它会做什么?我知道当它找到绑定变量时,它会创建 watch 或 keydown 事件以及它自己注入的事件并监视其他相关事件。它是通过为给定的 DOM 元素创建一个范围来完成的。因此,当项目在视图或模型中发生更改时,它可以将值推送到适当的位置。我的问题是何时实例化控制器并将 $scope 注入其中,以及在事件发生时 $scope 如何调用关联的方法?谢谢

4

1 回答 1

2

为了清楚起见,您必须仔细阅读他们网站上的文档。据我了解,当框架在视图上遇到 ng-controller 属性时,它将附加并实例化控制器。直接在控制器函数中的任何代码都将在那里运行。如果您希望代码仅在某些事件(如单击事件)上运行,那么您将放置ng-click='myFunction()'在元素上并myFunction作为 $scope 属性。如果您想在控制器内针对其他事件运行代码,则需要$scope.$on 在控制器内使用并$scope.$broadcast在外部触发事件。请注意,控制器应该只有业务逻辑。任何直接操作 DOM 的代码都包含在指令中。使用scope指令中的属性在控制器和指令之间绑定变量和函数。

同样,正如我所说,浏览 youtube 上的文档和视频有助于更好地理解 AngularJS 的基础。

于 2013-05-03T00:13:52.903 回答