這篇文章主要介紹Angularjs如何實現(xiàn)動態(tài)添加控件功能,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計制作的專業(yè)網(wǎng)站建設(shè)公司,擁有經(jīng)驗豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨特的設(shè)計風格。自公司成立以來曾獨立設(shè)計制作的站點上千余家。
實現(xiàn)下面這樣的需求:
點擊增加一塊數(shù)據(jù)盤,會出現(xiàn)數(shù)據(jù)盤選項。
(1)最開始,想到原生JavaScript,jQuery (appendChild()等方法結(jié)合AngularJS來添加新的元素。但是突然發(fā)現(xiàn)控件里面的數(shù)據(jù)綁定,原生javascript沒法控制。
(2)上網(wǎng)查資料,找到$compile服務(wù),動態(tài)改變html內(nèi)容。本以為這可以解決我的需求,但是仔細研究發(fā)現(xiàn)$compile是這樣的東西。
用$compile服務(wù)創(chuàng)建一個directive ‘compile',這個complie會將傳入的html字符串或者DOM轉(zhuǎn)換為一個template,然后直接在html里調(diào)用compile即可
(3)$compile不能滿足我的需求,繼續(xù)找資料,才發(fā)現(xiàn)angularjs實現(xiàn)這樣的需求,如此簡潔明朗。即ng-repeat $index.
testModule.controller('testController', function ($scope, $log) { $scope.DATA = new Object(); $scope.DATA.data = [{key: 0, value: ""}]; // add $scope.add = function($index) { // 用時間戳作為每個item的key $scope.DATA.data.splice($index + 1, 0,{key: new Date().getTime(), value: ""}); } // delete $scope.DATA.delete = function($index) { $scope.DATA.data.splice($index, 1); } });
以上是“Angularjs如何實現(xiàn)動態(tài)添加控件功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!