我是AngularJS noob,但对以前的MVC / MVVM框架非常熟悉。我来自OO背景,但已投入大量时间学习Javascript的准功能性。让我们说我理解闭包而没有有意义地使用它们。
我试图弄清楚AngularJS中控制器概念和$ scope概念之间的区别。
下面我在使用'$ scope'对象时要小心,而不是在AngularJS中引用'scope'的概念。
在AngularJS概念概述(http://docs.angularjs.org/guide/concepts)中,控制器被描述为使用范围作为视图和控制器之间的粘合剂。范围看起来像模型容器。
这是有道理的。
没有意义的是我看到的所有示例,其中函数被添加到$ scope对象。 $ scope对象是控制器的主体吗?如果是这样的话,这个对象是不是因为它与'范围'概念混淆而被命名?
-Liking-AngularJS - 丁困惑
答案 0 :(得分:5)
$ scope是视图和控制器都知道的对象......
它实际上并不是控制器本身,但通过它可以传递对数据和方法的引用,并在视图中使用它们。
角度控制器更像是一个演示模型,它支持一个对象,它是视图和控制器的“共同朋友”...这就是我至少想到它的方式:)