当前位置: 首页 > 编程笔记 >

Angularjs 实现动态添加控件功能

龙霖
2023-03-14
本文向大家介绍Angularjs 实现动态添加控件功能,包括了Angularjs 实现动态添加控件功能的使用技巧和注意事项,需要的朋友参考一下

实现下面这样的需求:

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

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

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

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


(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 实现动态添加控件功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 问题内容: 看来这个问题已经被问过几次了,但是没有正确的答案。 我的情况:我正在使用ajax(出于某种原因不使用角度路由模板)将模板(带有html和脚本)初始化为div。 index.html(主要) template.html(模板) 当我单击按钮时,它将文件加载到容器中,但是出现错误 错误:[ ng:areq ]参数’TempCtrl’不是函数,未定义 尽管已将其添加到应用控制器中。 我如何动

  • 我对java和javafx很陌生,有一个我无法解决的问题。我需要将新的自定义控件动态添加到 javafx 场景中。此外,我需要主控件和添加的控件之间的交互。我已经在网上找到了一些有用的信息,但无法将它们放在一起。 所以我举了一个小例子来解释: 主要类别: 主fxml: 及其控制器: 现在要动态添加的控件: 其影响: 和控制器: 用法是:应将fxml2添加到fxml1的hbox中。然后在fxml1中

  • 问题内容: 我有一个现有页面,需要在其中添加一个可以动态加载的控制器的角度应用程序。 这是一个片段,它根据API和我发现的一些相关问题实现了关于如何完成操作的最佳猜测: JSFiddle。请注意,这是对实际事件链的简化,在以上各行之间有各种异步调用和用户输入。 当我尝试运行上述代码时,由$ compile返回的链接器将抛出:。如果我正确地理解了引导程序,那么它返回的注射器应该知道该模块,对吗? 相

  • 本文向大家介绍AngularJS实现动态编译添加到dom中的方法,包括了AngularJS实现动态编译添加到dom中的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了AngularJS实现动态编译添加到dom中的方法。分享给大家供大家参考,具体如下: 在使用angularjs 时,希望通过动态构建angular模版,再通过angular进行展示。 使用 方法如下: 这种代码就是angu

  • 本文向大家介绍JS脚本实现动态给标签控件添加事件的方法,包括了JS脚本实现动态给标签控件添加事件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS脚本实现动态给标签控件添加事件的方法。分享给大家供大家参考,具体如下: PS:代码排版貌似不太尽如人意,这里小编给大家推荐几款代码格式化工具,相信在以后的编程开发中能够用得到: C语言风格/HTML/CSS/json代码格式化美化工具:

  • 本文向大家介绍Bootstrap treeview实现动态加载数据并添加快捷搜索功能,包括了Bootstrap treeview实现动态加载数据并添加快捷搜索功能的使用技巧和注意事项,需要的朋友参考一下 写在前面: jQuery多级列表树插件基于Bootstrap,以简单和优雅的方式来显示一些继承树结构,如视图树、列表树等。 实用Bootstrap树形菜单特效插件Bootstrap Tree Vi