本篇文章主要介紹了詳解angularjs 學習之 scope作用域,現在分享給大家,也給大家做個參考。
簡介
Scope(作用域) 是應用在 HTML (視圖) 和 JavaScript (控制器)之間的紐帶。
Scope 是一個儲存應用資料模型的對象,有可用的方法和屬性。
Scope 可套用在檢視和控制器上。
作用域是Web應用的控制器與視圖之間的黏結劑:
控制器--> 作用域--> 視圖(DOM)
指令- -> 作用域--> 視圖(DOM)
當你在AngularJS 建立控制器時,你可以將$scope 物件當作一個參數傳遞:
<p ng-controller="myCtrl"> <h1>{{name}}</h1> </p> <script> var app = angular.module('test', []); app.controller('myCtrl', function($scope) { $scope.name = "天下行走"; }); </script>
輸出結果:天下行走
控制器中建立一個屬性名稱"name" ,對應了視圖中使用{{ }} 中的名稱。
當在控制器中新增 $scope 物件時,視圖 (HTML) 可以取得了這些屬性。
視圖中,你不需要添加 $scope 前綴, 只需要添加屬性名即可,如: {{name}} 。
AngularJS 應用程式組成如下:
View(視圖) , 即 HTML。
Model(模型) , 目前視圖中可用的資料。
Controller(控制器) , 即 JavaScript 函數,可以新增或修改屬性。
scope 是一個 JavaScript 對象,帶有 屬性 和 方法 ,這些屬性和方法可以在視圖和控制器中使用。
再來看個例子:
<p ng-app="myApp" ng-controller="myCtrl"> 输入你的名字: <input ng-model="name"> <h1>{{greeting}}</h1> <button ng-click='sayHello()'>greet</button> </p> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.name = "张三"; $scope.sayHello = function() { $scope.greeting = $scope.name + '是个笨蛋!'; }; }); </script>
在這個例子中,
#控制器: MyCtrl ,它引用了$scope 並在其上註冊了兩個屬性和一個方法
$scope 物件:持有上面範例所需的資料模型,包括name 屬性、 greeting 屬性(註:這是在sayHello() 方法被呼叫時註冊的) 和sayHello() 方法
視圖:擁有一個輸入框、一個按鈕以及一個利用雙向綁定來顯示資料的內容區塊
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
angularjs使用gulp-uglify壓縮後執行錯誤的解決方法Vue ElementUI實作表單動態渲染、視覺化配置的方法淺談webpack打包之後的檔案過大的解決方法實際上解決iview打包時UglifyJs報錯(詳細教學) 在使用vue中打包項目後刷新碰到404的問題(詳細教學)以上是angularjs中有關scope作用域解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!