<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        Angular 作用域scope的具體使用

        來源:懂視網 責編:小采 時間:2020-11-27 22:23:56
        文檔

        Angular 作用域scope的具體使用

        Angular 作用域scope的具體使用:Scope(作用域) 是應用在 HTML (視圖) 和 JavaScript (控制器)之間的紐帶。 Scope 是一個對象,有可用的方法和屬性。 Scope 可應用在視圖和控制器上。 $rootScope 每個AngularJs應用默認有一個根作用域--$rootScope, 根作用域位于最頂層,作
        推薦度:
        導讀Angular 作用域scope的具體使用:Scope(作用域) 是應用在 HTML (視圖) 和 JavaScript (控制器)之間的紐帶。 Scope 是一個對象,有可用的方法和屬性。 Scope 可應用在視圖和控制器上。 $rootScope 每個AngularJs應用默認有一個根作用域--$rootScope, 根作用域位于最頂層,作

        Scope(作用域) 是應用在 HTML (視圖) 和 JavaScript (控制器)之間的紐帶。

        Scope 是一個對象,有可用的方法和屬性。

        Scope 可應用在視圖和控制器上。

        $rootScope

        每個AngularJs應用默認有一個根作用域--$rootScope, 根作用域位于最頂層,作為其他作用域的父作用域,可作用于整個應用中。

        $scope

        scope(作用域)對應MVC模式的Model,是應用在HTML(視圖)和JavaScript(控制器)之間的紐帶,可應用在視圖和控制器上。

        scope是表達式執行的上下文,同時作用域也是一個對象,有可用的方法和屬性。

        一、變量的取值和賦值

        <div ng-controller="parentCtrl">
         <span>{{number}}</span>
         <div ng-controller="childCtrl">
         <span>{{number}}</span>
         <button ng-click="number = number +1">增加</button>
         </div>
        </div>
        
        function parentCtrl($scope){
         $scope.number = 1;
        }
        function childCtrl($scope){ 
        }
        

        效果:

        界面上顯示了兩個1,但當我們點擊按鈕之后,childCtrl作用域內的數據改變了,parentCtrl作用域內的數據沒有改變

        分析:

        ①childCtrl作用域繼承了parentCtrl作用域(類似于JavaScript的原型鏈繼承),所以childCtrl作用域可以訪問到parentCtrl的內容。
        ②點擊按鈕后childCtrl作用域就會創建一個number基礎類型變量,當childCtrl已有某個基礎類型變量就不會訪問原型鏈。

        解決:

        ①可以使用$parent來指定上級作用域改變

         <div ng-controller="parentCtrl">
         <span>{{number}}</span>
         <div ng-controller="childCtrl">
         <span>{{number}}</span>
         <button ng-click="$parent.number = number +1">增加</button>
         </div>
         </div>
        

        ②使用引用類型變量,內外層作用域均是data對象的引用,修改對象的屬性,引用的還是同一個變量。

         <div ng-controller="parentCtrl">
         <span>{{data.number}}</span>
         <div ng-controller="childCtrl">
         <span>{{data.number}}</span>
         <button ng-click="data.number = data.number +1">增加</button>
         </div>
         </div>
         
         function parentCtrl($scope){
         $scope.data.number = 123';
         }
         function childCtrl($scope){
         
         }

        ng-if、ng-repeat、ng-switch、ng-include等指令也會產生新作用域

        二、Directive中的作用域

        .directive("myDirective", function () {
        return {
         restrict: "AE",
         scope: {
         name: '@myName',
         age: '=',
         changeAge: '&changeMyAge'
         },
         replace: true,
         template: "<div class='my-directive'>" +
         "我的名字是:<span ng-bind='name'></span><br/>" +
         "我的年齡是:<span ng-bind='age'></span><br/>" +
         "在這里修改名字:<input type='text' ng-model='name'><br/>" +
         "<button ng-click='changeAge()'>修改年齡</button>" +
         " </div>"
        }

        ①scope:false

        當scope設置為false的時候,我們創建的指令和父作用域(其實是同一個作用域)共享同一個model模型,所以在指令中修改模型數據,它會反映到父作用域的模型中。

        ②scope:true

        當scope設置為true的時候,我們就新創建了一個作用域,只不過這個作用域是繼承的父作用域;可以這樣理解,我們新創建的作用域是一個新的作用域,只不過在初始化的時候,用了父作用域的屬性和方法去填充我們這個新的作用域。它和父作用域不是同一個作用域。

        ③scope:{}

        @ 這是一個單項綁定的前綴標識符

        <div my-directive my-name="{{name}}"></div>

        屬性的名字要用-將兩個單詞連接,因為是數據的單項綁定所以要通過使用{{}}來綁定數據。

        = 這是一個雙向數據綁定前綴標識符

        <div my-directive age="age"></div>

        數據的雙向綁定要通過=前綴標識符實現,所以不可以使用{{}}。

        & 這是一個綁定函數方法的前綴標識符

        <div my-directive change-my-age="changeAge()"></div>

        屬性的名字要用-將多個個單詞連接。

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        Angular 作用域scope的具體使用

        Angular 作用域scope的具體使用:Scope(作用域) 是應用在 HTML (視圖) 和 JavaScript (控制器)之間的紐帶。 Scope 是一個對象,有可用的方法和屬性。 Scope 可應用在視圖和控制器上。 $rootScope 每個AngularJs應用默認有一個根作用域--$rootScope, 根作用域位于最頂層,作
        推薦度:
        標簽: 使用 scope 作用域
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 国产性爱在线观看亚洲黄色一级片| 69堂人成无码免费视频果冻传媒| 免费看少妇作爱视频| 亚洲成a人片在线看| 国产精品视频免费| 亚洲电影唐人社一区二区| 免费人成在线观看69式小视频| 亚洲黄色一级毛片| 国产免费的野战视频| 亚洲最大无码中文字幕| 成人免费无遮挡无码黄漫视频| 亚洲中文字幕久久无码| 国产成人精品免费视频大全五级 | 涩涩色中文综合亚洲| 好先生在线观看免费播放| 亚洲精品无码久久久久秋霞| 又大又黄又粗又爽的免费视频| 国产亚洲综合一区二区三区| 亚洲人成色77777在线观看大| h视频免费高清在线观看| 亚洲AV中文无码乱人伦下载| 久久爰www免费人成| 97久久国产亚洲精品超碰热| 麻豆国产人免费人成免费视频| 一级黄色片免费观看| 亚洲福利在线观看| 一级毛片无遮挡免费全部| 在线亚洲人成电影网站色www| 成人性生交大片免费看中文| 亚洲精品NV久久久久久久久久| 中文字幕在线免费看线人| 亚洲AV成人精品日韩一区18p| 国产99视频精品免费视频76| 内射干少妇亚洲69XXX| 成人片黄网站A毛片免费| 九九免费观看全部免费视频| 4480yy私人影院亚洲| 免费女人18毛片a级毛片视频| 91香蕉在线观看免费高清| 亚洲爆乳无码精品AAA片蜜桃| 亚洲综合精品香蕉久久网|