<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
        主站蜘蛛池模板: 国产男女猛烈无遮挡免费视频网站 | 8x8x华人永久免费视频| 久久久久亚洲精品中文字幕| 自拍偷自拍亚洲精品播放| 午夜视频在线观看免费完整版| 亚洲精品免费网站| 四虎影视www四虎免费| 亚洲日韩精品国产一区二区三区| 69成人免费视频无码专区| 亚洲色大成网站WWW国产| 浮力影院第一页小视频国产在线观看免费 | 九九九精品成人免费视频| 亚洲高清毛片一区二区| 国产又粗又长又硬免费视频| 午夜亚洲乱码伦小说区69堂| 亚洲乱码中文字幕综合234| 成av免费大片黄在线观看| 久久久无码精品亚洲日韩蜜桃| 久久国产乱子伦免费精品| 亚洲精品综合在线影院| 国产成人在线观看免费网站 | 亚洲最大av无码网址| 免费一区二区无码东京热| 精品亚洲成AV人在线观看| 大地资源免费更新在线播放| 精品亚洲国产成人av| 国产成人无码综合亚洲日韩| 亚洲精品尤物yw在线影院| 国产成人免费ā片在线观看老同学| 亚洲第一AAAAA片| 国产在线国偷精品产拍免费| 美女隐私免费视频看| 久久精品国产精品亚洲色婷婷| 亚洲精品免费网站| 亚洲精品视频免费在线观看| 成人午夜免费福利| 亚洲视频在线观看免费| 亚洲第一第二第三第四第五第六| 亚洲第一区精品日韩在线播放| 日韩精品内射视频免费观看 | 一级有奶水毛片免费看|