Angularjs 实现动态添加控件功能


Posted in Javascript onMay 25, 2017

实现下面这样的需求:

Angularjs 实现动态添加控件功能

点击增加一块数据盘,会出现数据盘选项。

(1)最开始,想到原生JavaScript,jQuery (appendChild()等方法结合AngularJS来添加新的元素。但是突然发现控件里面的数据绑定,原生javascript没法控制。

(2)上网查资料,找到$compile服务,动态改变html内容。本以为这可以解决我的需求,但是仔细研究发现$compile是这样的东西。

用$compile服务创建一个directive ‘compile',这个complie会将传入的html字符串或者DOM转换为一个template,然后直接在html里调用compile即可

Angularjs 实现动态添加控件功能

Angularjs 实现动态添加控件功能

(3)$compile不能满足我的需求,继续找资料,才发现angularjs实现这样的需求,如此简洁明朗。即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 实现动态添加控件功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery getJSON 处理json数据的代码
Jul 26 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
Oct 25 Javascript
解析Javascript小括号“()”的多义性
Dec 03 Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
微信小程序 switch组件详解及简单实例
Jan 10 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
详解webpack es6 to es5支持配置
May 04 Javascript
angular4模块中给标签添加背景图的实现方法
Sep 15 Javascript
使用vue制作探探滑动堆叠组件的实例代码
Mar 07 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
Sep 05 Javascript
使用vue实现各类弹出框组件
Jul 03 Javascript
JavaScript实现自动跳转文本功能
May 25 #Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 #Javascript
AngularJS基于factory创建自定义服务的方法详解
May 25 #Javascript
AngularJS读取JSON及XML文件的方法示例
May 25 #Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 #jQuery
基于VUE选择上传图片并页面显示(图片可删除)
May 25 #Javascript
jQuery滚动插件scrollable.js用法分析
May 25 #jQuery
You might like
php addslashes 函数详细分析说明
2009/06/23 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
php实现数组中出现次数超过一半的数字的统计方法
2018/10/14 PHP
常用简易JavaScript函数
2009/04/09 Javascript
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
预加载css或javascript的js代码
2010/04/23 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
WEB前端设计师常用工具集锦
2014/12/09 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
2015/03/09 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
jquery实现input框获取焦点的方法
2017/02/06 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
手淘flexible.js框架使用和源代码讲解小结
2018/10/15 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
在Python的web框架中配置app的教程
2015/04/30 Python
用pandas按列合并两个文件的实例
2018/04/12 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python根据时间获取周数代码实例
2019/09/30 Python
django框架F&amp;Q 聚合与分组操作示例
2019/12/12 Python
pytorch绘制并显示loss曲线和acc曲线,LeNet5识别图像准确率
2020/01/02 Python
应届生新闻编辑求职信
2013/11/19 职场文书
留学推荐信怎么写
2014/01/25 职场文书
餐厅总厨求职信
2014/03/04 职场文书
环保宣传标语
2014/06/12 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
学校运动会感想
2015/08/10 职场文书
大学生十八大感想
2015/08/11 职场文书
学校体育节班级口号
2015/12/25 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
分析Python list操作为什么会错误
2021/11/17 Python