欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

angular中scopel指令怎么用

這篇文章將為大家詳細講解有關angular中scopel指令怎么用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為絳縣企業(yè)提供專業(yè)的做網站、網站設計,絳縣網站改版等技術服務。擁有十多年豐富建站經驗和眾多成功案例,為您定制開發(fā)。

我們來創(chuàng)建一個自定義指令

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="mainCtrl">
        <my-btn></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        myApp.controller('mainCtrl',['$scope',function($scope){
            $scope.myClass = 'primary';
        }]);
        myApp.directive('myBtn',function(){            return {
                template:'<input type="button" value="按鈕" class="{{myClass}}">'
            }
        });    </script></body></html>

angular中scopel指令怎么用

使用自定義指令像上面一樣的確不錯,但是如果你想要對每一個指令渲染出來的按鈕定制化,則好像不可以,比如下面我們創(chuàng)建一堆這個自定義指令,他們長得一模一樣:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="mainCtrl">
        <my-btn></my-btn>
        <my-btn></my-btn>
        <my-btn></my-btn>
        <my-btn></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        myApp.controller('mainCtrl',['$scope',function($scope){
            $scope.myClass = 'primary';
        }]);
        myApp.directive('myBtn',function(){            return {
                template:'<input type="button" value="按鈕" class="{{myClass}}">'
            }
        });    </script></body></html>


angular中scopel指令怎么用

一種思路是把這幾個自定義的指令按鈕放到不同的控制器里面,然后控制器里通過$scope上下文傳遞不同的值:

  <!DOCTYPE html><html><head>
   <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: green;
        }        .default{            background: gray;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="aCtrl">
        <my-btn></my-btn>
    </div>
    <div ng-controller="bCtrl">
        <my-btn></my-btn>
    </div>
    <div ng-controller="cCtrl">
        <my-btn></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        myApp.controller('aCtrl',['$scope',function($scope){
            $scope.myClass = 'primary';
        }]);
        myApp.controller('bCtrl',['$scope',function($scope){
            $scope.myClass = 'success';
        }]);
        myApp.controller('cCtrl',['$scope',function($scope){
            $scope.myClass = 'default';
        }]);
        myApp.directive('myBtn',function(){            return {
                template:'<input type="button" value="按鈕" class="{{myClass}}">'
            }
        });    </script></body></html>

angular中scopel指令怎么用

這樣寫太麻煩了,所以我們的angular為我們的自定義指令提供了一個配置項叫scope,所以,我們可以如下這樣寫:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: green;
        }        .default{            background: gray;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="Controller">
      <my-btn b="className1"></my-btn>
      <my-btn b="className2"></my-btn>
      <my-btn b="className3"></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        
        myApp
        .controller('Controller', ['$scope', function($scope) {
          $scope.className1 = 'primary';
          $scope.className2 = 'success';
          $scope.className3 = 'default';
        }])
        .directive('myBtn',function(){            return {
                scope:{
                    a:'=b'
                },
                template:'<input type="button" value="按鈕" class="{{a}}">'
            }
        });    </script></body></html>

要看懂上面的只要注意兩點:

這里的獨立作用域里面的a代表的是template里面的模型a

=b代表的是要angular去尋找視圖里面的當前指令的屬性b

屬性b的值需要去外部作用域里面去尋找

如果你想在指令作用域里綁定的模型的名字和外部使用的時候的屬性名一樣,可以省寫成如下:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: green;
        }        .default{            background: gray;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="Controller">
      <my-btn a="className1"></my-btn>
      <my-btn a="className2"></my-btn>
      <my-btn a="className3"></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        
        myApp
        .controller('Controller', ['$scope', function($scope) {
          $scope.className1 = 'primary';
          $scope.className2 = 'success';
          $scope.className3 = 'default';
        }])
        .directive('myBtn',function(){            return {
                scope:{
                    a:'='
                },
                template:'<input type="button" value="按鈕" class="{{a}}">'
            }
        });    </script></body></html>

當然,上面的=號是雙向數(shù)據(jù)綁定:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: green;
        }        .default{            background: gray;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="Controller">
      <my-btn a="abc"></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        
        myApp
        .controller('Controller', ['$scope', function($scope) {
          $scope.abc = '我是初始內容';
        }])
        .directive('myBtn',function(){            return {
                scope:{
                    a:'='
                },
                template:'<input type="text"  ng-model="a"><span>{{a}}</span>'
            }
        });    </script></body></html>

如果只是想單向的數(shù)據(jù)通信,可以用@符號:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: red;
        }        .default{            background: red;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="Controller">
      <my-btn a="primary"></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        
        myApp
        .controller('Controller', ['$scope', function($scope) {
          $scope.mm = 'primary';
        }])
        .directive('myBtn',function(){            return {
                scope:{
                    a:'@'
                },
                template:'<input type="button" value="按鈕" class="{{a}}">'
            }
        });    </script></body></html>

如果想用ng-class,也是可以的:

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: red;
        }        .default{            background: red;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="Controller">
      <my-btn a="primary"></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        
        myApp
        .controller('Controller', ['$scope', function($scope) {
          $scope.mm = true;
        }])
        .directive('myBtn',function(){            return {
                scope:{
                    a:'@'
                },
                template:'<input type="button" value="按鈕" ng-class="{primary:a}">'
            }
        });    </script></body></html>

最后,還有一個scope可以設置是引用外部作用域的方法

<!DOCTYPE html><html lang="en"><head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .primary{            background: red;
        }        .success{            background: red;
        }        .default{            background: red;
        }    </style></head><body ng-app="myApp">
    <div ng-controller="Controller">
      <my-btn fn2="fn()"></my-btn>
    </div>
    <script src="node_modules/angular/angular.min.js"></script>
    <script>
        var myApp = angular.module('myApp',[]);
        
        myApp
        .controller('Controller', ['$scope', function($scope) {
          $scope.fn = function(){
            alert(11);
          }
        }])
        .directive('myBtn',function(){            return {
                scope:{
                    fn1:'&fn2'
                },
                template:'<input type="button" value="按鈕" ng-click="fn1()">'
            }
        });    </script></body></html>

關于“angular中scopel指令怎么用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

文章標題:angular中scopel指令怎么用
本文網址:http://www.aaarwkj.com/article42/ipcohc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站改版、微信公眾號、、網站策劃品牌網站設計、動態(tài)網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網站優(yōu)化
国产亚洲综合久久系列| 91精品一区二区三区91人妻| 激情影院在线观看福利| 国产成人精品久久久亚洲| 日韩高清在线一区二区三区| 日本少妇一区二区99| 精品人妻区二区三区蜜桃| 激情欧美一区二区三区精品| 国产伊人久久综合网| 日韩专区亚洲专区欧美专区| 欧美亚洲国产日韩熟女| 成年人免费久久毛片| 国一区二区三区四区av| 日韩黄色大片免费在线观看| 精品裸足人妻少妇二区三区| 亚洲精品午夜在线观看| 麻豆国产原创av色哟哟| 国产av剧情在线免费观看| 国产精品亚洲综合制服日韩| 青青草老司机在线视频| 色噜噜男人的天堂av| 一区二区三区欧美久久| 免费看夫妻性生活视频| 亚洲男人天堂在线视频| 国产高清大片一级黄色| 国产精品一区二区三区欧美| 亚洲精品国产精品乱码不| av全欧国男人在线天堂| 久久久久久国产精彩视频| 91好色视频在线观看| 麻豆印象传媒在线观看| 粉嫩欧美一区二区三区| 开裆丝袜高跟啪啪高潮av| 小黄片视频免费在线播放| 欧美熟女av在线观看| 日韩av在线不卡一区二区| 日本一区二区三区免费不卡视频 | 亚洲国产欧美一区三区成人| 亚洲另类熟女国产精品老| 精品视频日韩在线观看| 日韩熟女av中文字幕|