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