控制器的作用是什么,以及AngularJS中$ scope的作用是什么?

时间:2013-06-30 20:09:55

标签: javascript angularjs

我是AngularJS noob,但对以前的MVC / MVVM框架非常熟悉。我来自OO背景,但已投入大量时间学习Javascript的准功能性。让我们说我理解闭包而没有有意义地使用它们。

我试图弄清楚AngularJS中控制器概念和$ scope概念之间的区别。

下面我在使用'$ scope'对象时要小心,而不是在AngularJS中引用'scope'的概念。

在AngularJS概念概述(http://docs.angularjs.org/guide/concepts)中,控制器被描述为使用范围作为视图和控制器之间的粘合剂。范围看起来像模型容器。

这是有道理的。

没有意义的是我看到的所有示例,其中函数被添加到$ scope对象。 $ scope对象是控制器的主体吗?如果是这样的话,这个对象是不是因为它与'范围'概念混淆而被命名?

-Liking-AngularJS - 丁困惑

1 个答案:

答案 0 :(得分:5)

$ scope是视图和控制器都知道的对象......

它实际上并不是控制器本身,但通过它可以传递对数据和方法的引用,并在视图中使用它们。

角度控制器更像是一个演示模型,它支持一个对象,它是视图和控制器的“共同朋友”...这就是我至少想到它的方式:)