一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - angularjs - angularJS 中$attrs方法使用指南

angularJS 中$attrs方法使用指南

2022-01-03 22:51angularJS教程網 angularjs

這篇文章主要介紹了angularJS 中$attrs方法使用指南,需要的朋友可以參考下

這里給大家分享的是一個angularJS 中$attrs方法的使用示例:

 

復制代碼 代碼如下:

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <title>
            無標題文檔
        </title>
        <script src="http://localhost:81/js/jquery.js">
        </script>
        <script src="http://localhost:81/js/angular.min.js">
        </script>
    </head>
    <body ng-app="Demo">
        <div a>
            a_directive
        </div>
        <div ng-controller="TestCtrl">
            <h1 t>
                原始內容
            </h1>
            <h2 t2>
                原始內容
            </h2>
            <h3 t3="hiphop" title2="{{name}}">
                原始內容
            </h3>
            <div compile></div>
            <div>
                <test a="{{ a }}" b c="xxx"></test>
                <button ng-click="a=a+1">
                    修改
                </button>
            </div>
            <te a="1" ys-a="123" ng-click="show(1)">這里</te>
        </div>
        <script>
            var app = angular.module('Demo', [], angular.noop);
            app.controller("TestCtrl",
            function($scope) {
                $scope.name = "qihao";
            });
            app.directive("t",
            function() {
                return {
                    controller : function($scope){$scope.name = "qq"},
                    template : "<div>test:implementToParent{{name}}</div>",
                    replace : true,
                    scope : true     //作用域是繼承的,默認就是繼承的
                }
            });
            app.directive("t2",
            function() {
                return {
                    controller : function($scope){$scope.name = "nono"},
                    template : "<div>test:implementToParent{{name}}</div>",
                    replace : true,
                    restrict : "AE"
                }
            });
            app.directive("t3",
            function() {
                return {
                    template : "<div>test:implementToParent_titleIs:{{title}}<br>title2Is:{{title2}}</div>",
                    replace : true,
                    restrict : "AE",
                    scope : {
                        title : "@t3",
                        title2 : "@title2"
                    }
                }
            });
            app.directive('a',
            function() {
                var func = function() {
                    console.log('compile');
                    return function() {
                        console.log('link');
                    }
                }
                var controller = function($scope, $element, $attrs, $transclude) {
                    //$transclude :是指令標簽的復制體
                    console.log('controller');
                    console.log($scope);
                    console.log($transclude);
                    //$transclude接受兩個參數,你可以對這個克隆的元素進行操作,
                    var node = $transclude(function(clone_element, scope) {
                        $element.append(clone_element);
                        $element.append("<span>spanTag___</span>");
                        console.log(clone_element);
                        console.log('--');
                        console.log(scope);
                    });
                    console.log(node);
                }
                return {
                    compile: func,
                    template: "<h1 ng-transclude></h1>",
                    controller: controller,
                    transclude: true,
                    restrict: 'AE'
                }
            });
            app.directive('compile',function() {
                var func = function() {
                    console.log('a compile');
                    return {
                        pre: function() {
                            console.log('a link pre')
                        },
                        post: function() {
                            console.log('a link post')
                        },
                    }
                }
                return {
                    restrict : "AE",
                    compile : func
                }
            })
              app.directive('test', function(){
                var func = function($element, $attrs){
                  console.log($attrs);
                  $attrs.$observe('a', function(new_v){
                    console.log(new_v);
                  });
                }
                return {compile: func,
                        restrict: 'E'}
              });
              app.controller('TestCtrl', function($scope){
                $scope.a = 123;
              });
              app.directive('te', function(){
                var func = function($scope,$element, $attrs,$ctrl){
                    console.log($ctrl)
                    //$attrs.$set. 給這個屬性設置b,值為ooo,就是這樣
                  $attrs.$set('b', 'ooo');
                  $attrs.$set('a-b', '11');
                  //這個還有點不懂啊 //第二個參數值
                  $attrs.$set('c-d', '11', true, 'c_d');
                  console.log($attrs);
                }
                return {
                        compile: function(){
                            return func
                        },
                        restrict: 'E'
                    }
              });
              app.controller('TestCtrl', function($scope){
                $scope.show = function(v){console.log(v);}
              });
        </script>
    </body>
</html>

 

本文內容就到這里了,希望大家能對angularJS 中$attrs的使用有了新的認識,希望大家能夠喜歡本文。

延伸 · 閱讀

精彩推薦
  • angularjsangularJS 中input示例分享

    angularJS 中input示例分享

    這篇文章主要介紹了angularJS 中input示例分享,需要的朋友可以參考下...

    angularJS教程網5652022-01-03
  • angularjs教你用AngularJS框架一行JS代碼實現控件驗證效果

    教你用AngularJS框架一行JS代碼實現控件驗證效果

    簡單來說Angular.js是google開發者設計和開發的一套前端開發框架,幫助你簡化前端開發的負擔。到底能簡化到什么程度呢,今天我們來看下,一行代碼實現控...

    AngularJS教程網8012022-01-03
  • angularjsangularJS中router的使用指南

    angularJS中router的使用指南

    這篇文章主要介紹了angularJS中router的使用方法和示例分享,需要的朋友可以參考下...

    angularJS教程網8372022-01-03
  • angularjsangularJS提交表單(form)

    angularJS提交表單(form)

    這篇文章主要介紹了angularJS提交表單(form)的方法和示例,需要的朋友可以參考下...

    angularJS教程網3972022-01-03
  • angularjsAngularJS 中括號的作用詳解

    AngularJS 中括號的作用詳解

    這篇文章主要介紹了AngularJS 中括號的作用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下...

    Java Pro8652022-02-22
  • angularjsangularjs實現與服務器交互分享

    angularjs實現與服務器交互分享

    AngularJS是Google開發的純客戶端JavaScript技術的WEB框架,用于擴展、增強HTML功能,它專為構建強大的WEB應用而設計。...

    angularjs教程網7312022-01-03
  • angularjsAngular.JS中指令的命名規則詳解

    Angular.JS中指令的命名規則詳解

    這篇文章主要給大家介紹了關于Angular.JS中指令命名規則的相關資料,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看...

    劉小光10402022-01-17
  • angularjsAngular框架詳解之視圖抽象定義

    Angular框架詳解之視圖抽象定義

    這篇文章主要給大家介紹了關于Angular框架詳解之視圖抽象定義的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習...

    被刪6782022-02-24
主站蜘蛛池模板: 男人的天堂久久精品激情a 男人的天堂va | 亚洲欧美日韩另类在线一 | 国产伦久视频免费观看视频 | 男人扒开女人下身添 | 温柔校草高h | 大香人蕉免费视频75 | 国产精品日本一区二区不卡视频 | 亚洲第一男人天堂 | 日韩视频一区二区 | 日本护士xxxx视频 | 华人亚洲欧美精品国产 | 欧美洲大黑香蕉在线视频 | 日本天堂视频 | 万域之王动漫在线观看全集免费播放 | bt天堂午夜国产精品 | 九九热视频免费 | 特级www| 2022国产麻豆剧传媒古装 | 欧美成人禁片在线观看俄罗斯 | 我与岳乱短篇小说 | 白丝超短裙被输出娇喘不停小说 | 国产自拍视频网站 | 四虎在线精品免费高清在线 | 久久中文字幕亚洲精品最新 | 欧美爽妇 | 四虎影剧院 | 俄罗斯处女 | 日韩成人精品在线 | 美女女女女女女bbbbbb毛片 | 满溢游泳池免费土豪全集下拉版 | 1769亚洲资源站365在线 | 狠狠色成人综合网图片区 | 性关系视频免费网站在线观看 | 欧美男同互吃gay老头 | 亚洲 欧美 在线观看 | 欧美性受xxxx88喷潮 | 波多野给衣一区二区三区 | 午夜伦伦电影理论片费看 | 日本免费三片在线观看 | 国产成人亚洲精品一区二区在线看 | 99国产小视频 |