每個控制器都有一個關聯的$scope
對象。
控制器(構造函數)函數負責設置模型屬性和函數。這隻能通過$ scope來完成。無論您在View(html文件)中應用哪種函數或模型,都可以使用範圍在控制器中訪問。
只能從HTML /視圖訪問此$ scope對象上定義的方法。示例 - 從納克單擊,過濾器等
現在,讓我們看看你的例子一個接一個 -
function MyController($scope) {
$scope.username = 'World';
};
在上面的例子中,你正在定義一個名爲任何屬性用戶名,其值爲「世界」。假設你有下面的代碼行的文件 -
<div ng-controller="MyController">
<h1>{{data.username}}</h1></div>
這將自動拿起從控制器的值,並在屏幕上顯示出來。值得注意的是「數據」。在標記中是html頁面可以引用控制器的控制器的名稱。這通常是在控制器內或HTML文件的頂部定義的。
2.
$scope.sayHello = function() {
$scope.greeting = 'Hello ' + $scope.username + '!';
};
這是您可以在其中通過下面的代碼在視圖訪問控制器定義的函數 -
<div ng-controller="MyController">
<h1>{{data.greeting}}</h1></div>
這裏,data.greeting會自動拾取來自sayHello函數的值,即顯示的值將是「Hello World」。用戶名中的「World」與之前的「Hello」連接。
我希望這能消除你的疑惑。 :)
以上功能也可以在沒有任何參考$ scope [[plunker](http://plnkr.co/edit/3RFKwkpyqGAU4loTI6hR?p=preview)] – tomd
「$ scope基本上是一個javaScript對象與一些內置的鉤子「([Lukas Ruebbelke](http://onehungrymind.com/)) – tomd