中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Angularjs如何動態添加指令并綁定事件

發布時間:2021-08-05 11:29:44 來源:億速云 閱讀:183 作者:小新 欄目:web開發

這篇文章主要介紹Angularjs如何動態添加指令并綁定事件,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

先說使用場景,動態生成DOM元素并綁定事件,非常常見的一種場景,用jq實現效果:

var count=0;
$("#test").on("click",function(event){
 if(event.target.tagName.toLowerCase()=="input") return;
 count++;
 var html="<input type='text' class='newEle' value='"+count+"'/>";
 $(this).html(html);
 $(".newEle").focus();
});
$("body").on("blur",".newEle",function(){
 alert($(this).val());
})

如果用angularjs應該怎么實現呢?想當然的情況是這樣的:

var myApp = angular.module('myApp', []);
    myApp.controller('MainCtrl', ['$scope','$compile',function($scope) {
      $scope.count = 0;
      $scope.add = function() {
       if(event.target.tagName.toLowerCase()=="input")return;
        var target=$(event.target);
        $scope.count++;
        target.html("<input value='"+$scope.count+"' ng-blur='showValue()'>" );
      }
      $scope.showValue=function(){
        alert(event.target.value)
      }
    }])

理想很豐滿,點擊test的時候內容確實變成了input,但是input不能綁定任何ng事件。

var myApp = angular.module('myApp', []);
    myApp.controller('MainCtrl', ['$scope','$compile',function($scope, $compile) {
      $scope.count = 0;
      $scope.add = function() {
       if(event.target.tagName.toLowerCase()=="input")return;
        var target=$(event.target);
        $scope.count++;
        target.html($compile("<input value='"+$scope.count+"' ng-blur='showValue()'>")($scope));
      }
      $scope.showValue=function(){
        alert(event.target.value)
      }
    }])

達到目的~

這里用到了$compile服務,官方的解釋是compile可以將一個HTML字符串或者DOM編譯成模板,該模板能夠與scope鏈接起來,也就是說直接插入一段html片段到頁面中,雖然能插入進去,但是angular并沒有編譯,所以任何ng事件指令綁定都是無效的,通過compile能夠將html片段先編譯后再插入。

以上是“Angularjs如何動態添加指令并綁定事件”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

福泉市| 桃江县| 平和县| 连平县| 津市市| 逊克县| 隆德县| 宜章县| 山丹县| 桐城市| 罗平县| 正蓝旗| 祁门县| 汕头市| 许昌市| 夹江县| 贵德县| 五家渠市| 都安| 牙克石市| 依兰县| 漳浦县| 抚顺市| 蒙城县| 河南省| 嫩江县| 天镇县| 瑞丽市| 福安市| 秦皇岛市| 平塘县| 南昌市| 临夏县| 高州市| 卢龙县| 广州市| 张家川| 龙岩市| 安顺市| 邵武市| 江北区|