2013-06-30 39 views
2

我是AngularJS noob,但對以前的MVC/MVVM框架非常熟悉。我來自OO背景,但已經投入了相當多的時間來學習Javascript的準功能性。假設我理解封閉而沒有對它們進行有意義的使用。

我想弄清楚AngularJS中控制器概念和$ scope概念之間的區別。

下面我在使用'$ scope'對象與引用AngularJS中'scope'的概念時非常小心。

在AngularJS概念概述(http://docs.angularjs.org/guide/concepts)中,控制器被描述爲使用範圍作爲視圖和控制器之間的粘合劑。範圍看起來像一個模型容器。

這是有道理的。

什麼是沒有意義的是所有的例子,我已經看到函數被添加到$ scope對象。 $ scope對象是控制器的主體?如果是這樣,這個對象是不是被巧妙地命名,因爲它與'範圍'概念混淆?

-Liking-AngularJS但很困惑

回答

5

的$範圍的對象,無論是視圖和控制器知道...

它實際上並不是控制器本身,而是通過它,你可以通過引用數據和方法並在視圖中使用它們。

角度控制器更像是一個演示模型,它支撐着一個對象,它是視圖和控制器的「共同朋友」......這就是我至少喜歡這樣想的東西:)

+0

謝謝!因此,視圖中特定的業務邏輯進入控制器或$ scope?這些是同一件事嗎?我看到有人向$ scope添加方法。 –

+0

當你想將某些東西暴露給視圖時,你將它附加到$ scope,其他數據轉換方法可以放在控制器的內部,但通常在所有計算或轉換後它會在$ scope中找到它:) –

+0

謝謝再次!所以說從服務器操縱JSON對象將在控制器中,但更改div背景的代碼將在$範圍內? –

相關問題