国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Angular.Js之Scope作用域的學(xué)習(xí)教程

2024-05-06 15:17:54
字體:
供稿:網(wǎng)友

scope是什么?

大家都知道在AngularJS 中作用域是一個指向應(yīng)用模型的對象,它是表達(dá)式的執(zhí)行環(huán)境。作用域有層次結(jié)構(gòu),這個層次和相應(yīng)的 DOM 幾乎是一樣的。作用域能監(jiān)控表達(dá)式和傳遞事件。

在 HTML 代碼中,一旦一個 ng-app 指令被定義,那么一個作用域就產(chǎn)生了,由 ng-app 所生成的作用域比較特殊,它是一個根作用域($rootScope),它是其他所有$Scope 的最頂層。

除了用 ng-app 指令可以產(chǎn)生一個作用域之外,其他的指令如 ng-controller,ng-repeat 等都會產(chǎn)生一個或者多個作用域。此外,還可以通過 AngularJS 提供的創(chuàng)建作用域的工廠方法來創(chuàng)建一個作用域。這些作用域都擁有自己的繼承上下文,并且根作用域都為$rootScope。

在生成一個作用域之后,在編寫 AngularJS 代碼時,$scope 對象就代表了這個作用域的數(shù)據(jù)實(shí)體,我們可以在$scope 內(nèi)定義各種數(shù)據(jù)類型,之后可以直接在 HTML 中以 {{變量名}} 方式來讓 HTML 訪問到這個變量。

繼承作用域

AngularJS 在創(chuàng)建一個作用域時,會檢索上下文,如果上下文中已經(jīng)存在一個作用域,那么這個新創(chuàng)建的作用域就會以 JavaScript 原型繼承機(jī)制繼承其父作用域的屬性和方法。

一些 AngularJS 指令會創(chuàng)建新的子作用域,并且進(jìn)行原型繼承: ng-repeat、ng-include、ng-switch、ng-view、ng-controller, 用 scope: true transclude: true 創(chuàng)建的 directive。

以下 HTML 中定義了三個作用域,分別是由 ng-app 指令所創(chuàng)建的$rootScope,parentCtrl 和 childCtrl 所創(chuàng)建的子作用域,這其中 childCtrl 生成的作用域又是 parentCtrl 的子作用域。

示例一:作用域的繼承實(shí)例

<!doctype html><html><head> <meta charset=utf-8"/> <title>scope nick</title> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><script type="text/javascript"> angular.module('app', [])  .controller('parentCtrl', ['$scope', function($scope) {  $scope.args= 'Nick DeveloperWorks';  }])  .controller('childCtrl', ['$scope', function($scope) {  $scope.args= 'Nick DeveloperWorks for test';  }]);</script><body ng-app="app"><div ng-controller="parentCtrl"> <input ng-model="args"> <div ng-controller="childCtrl"> <input ng-model="args"> </div></div></body></html>

繼承作用域符合 JavaScript 的原型繼承機(jī)制,這意味著如果我們在子作用域中訪問一個父作用域中定義的屬性,JavaScript 首先在子作用域中尋找該屬性,沒找到再從原型鏈上的父作用域中尋找,如果還沒找到會再往上一級原型鏈的父作用域?qū)ふ摇T?AngularJS 中,作用域原型鏈的頂端是$rootScope,AnguarJS 將會尋找到$rootScope 為止,如果還是找不到,則會返回 undefined。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 六枝特区| 景宁| 临泉县| 苍南县| 南平市| 宣恩县| 武乡县| 海林市| 石泉县| 大连市| 丰顺县| 新丰县| 苏州市| 敦煌市| 江川县| 通山县| 枣强县| 浙江省| 建宁县| 太白县| 安义县| 海林市| 万盛区| 若羌县| 桃源县| 衡阳县| 龙井市| 和静县| 石狮市| 金华市| 汝阳县| 阿鲁科尔沁旗| 日照市| 枣强县| 旺苍县| 肃北| 寿阳县| 郴州市| 姜堰市| 沙洋县| 金秀|