Angularjs 實(shí)現(xiàn)動態(tài)添加控件功能
實(shí)現(xiàn)下面這樣的需求:

點(diǎn)擊增加一塊數(shù)據(jù)盤,會出現(xiàn)數(shù)據(jù)盤選項(xiàng)。
(1)最開始,想到原生JavaScript,jQuery (appendChild()等方法結(jié)合AngularJS來添加新的元素。但是突然發(fā)現(xiàn)控件里面的數(shù)據(jù)綁定,原生javascript沒法控制。
(2)上網(wǎng)查資料,找到$compile服務(wù),動態(tài)改變html內(nèi)容。本以為這可以解決我的需求,但是仔細(xì)研究發(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實(shí)現(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 實(shí)現(xiàn)動態(tài)添加控件功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
AngularJs點(diǎn)擊狀態(tài)值改變背景色的實(shí)例
下面小編就為大家分享一篇AngularJs點(diǎn)擊狀態(tài)值改變背景色的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12
AngularJS+bootstrap實(shí)現(xiàn)動態(tài)選擇商品功能示例
這篇文章主要介紹了AngularJS+bootstrap實(shí)現(xiàn)動態(tài)選擇商品功能,涉及AngularJS指令、事件響應(yīng)及頁面元素動態(tài)操作相關(guān)技巧,需要的朋友可以參考下2017-05-05
AngularJS 支付倒計時功能實(shí)現(xiàn)思路
這篇文章主要介紹了AngularJS 支付倒計時功能的實(shí)現(xiàn)思路,需要的朋友可以參考下2017-06-06
對angular 監(jiān)控數(shù)據(jù)模型變化的事件方法$watch詳解
今天小編就為大家分享一篇對angular 監(jiān)控數(shù)據(jù)模型變化的事件方法$watch詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10
AngularJS實(shí)現(xiàn)Model緩存的方式
這篇文章主要介紹了AngularJS實(shí)現(xiàn)Model緩存的方式,分享了多種AngularJS實(shí)現(xiàn)Model緩存的方法,感興趣的小伙伴們可以參考一下2016-02-02
Angular 中使用 FineReport不顯示報表直接打印預(yù)覽
這篇文章主要介紹了Angular 中使用 FineReport不顯示報表直接打印預(yù)覽,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
angular學(xué)習(xí)之從零搭建一個angular4.0項(xiàng)目
本篇文章主要介紹了從零搭建一個angular4.0項(xiàng)目,主要用到的工具angular4.0、angular-cli、npm(v3.10.8)、node(v6.2.0),有興趣的可以了解一下2017-07-07
Angular使用操作事件指令ng-click傳多個參數(shù)示例
這篇文章主要介紹了Angular使用操作事件指令ng-click傳多個參數(shù),結(jié)合實(shí)例形式分析了AngularJS事件指令及相關(guān)的響應(yīng)、處理操作技巧,需要的朋友可以參考下2018-03-03

