Angularjs 實現(xiàn)動態(tài)添加控件功能
實現(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.
<div ng-repeat="item in DATA.data"> <div class="form-group"> <div class="col-md-12"> <label class="col-md-1" >{{$index + 1}}</label> <div class="col-md-9"><input type="text" class="form-control" ng-model="item.value" name="item{{$index + 1}}" /></div> <div><input type="button" ng-click="item.delete($index)" value="刪除"></div> </div> </div> </div <div><input type="button" ng-click="add()" value="增加"></div>
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)添加控件功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
AngularJS+bootstrap實現(xiàn)動態(tài)選擇商品功能示例
這篇文章主要介紹了AngularJS+bootstrap實現(xiàn)動態(tài)選擇商品功能,涉及AngularJS指令、事件響應(yīng)及頁面元素動態(tài)操作相關(guān)技巧,需要的朋友可以參考下2017-05-05對angular 監(jiān)控數(shù)據(jù)模型變化的事件方法$watch詳解
今天小編就為大家分享一篇對angular 監(jiān)控數(shù)據(jù)模型變化的事件方法$watch詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Angular 中使用 FineReport不顯示報表直接打印預(yù)覽
這篇文章主要介紹了Angular 中使用 FineReport不顯示報表直接打印預(yù)覽,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08angular學(xué)習(xí)之從零搭建一個angular4.0項目
本篇文章主要介紹了從零搭建一個angular4.0項目,主要用到的工具angular4.0、angular-cli、npm(v3.10.8)、node(v6.2.0),有興趣的可以了解一下2017-07-07Angular使用操作事件指令ng-click傳多個參數(shù)示例
這篇文章主要介紹了Angular使用操作事件指令ng-click傳多個參數(shù),結(jié)合實例形式分析了AngularJS事件指令及相關(guān)的響應(yīng)、處理操作技巧,需要的朋友可以參考下2018-03-03