需求背景:

        directive模块化某表单信息,但表单信息可加入多条。此时就涉及到clone directive.

解决方式:

        能够通过使用angularjs中$compile来进行clone directive。clone direcitve中常涉及到数据的绑定。

详细方法:

    tw.factory('DirectiveUtil', [function() {
var DirectiveUtil = {}; DirectiveUtil.DirectiveBuilder = function(directiveName) { directive = directiveName;
directiveBuffer = '<' + directiveName + ' '; this.setDirectiveName = function(directiveName) {
directive = directiveName;
directiveBuffer = '<' + directiveName + ' ';
} this.getDirectiveName = function() {
return directive;
}
// name: directive中scope的name, value: clone directive操作时,数据绑定的名称
this.appendAttr = function(name, value) {
directiveBuffer += name + '=\'' + value + '\' ';
return this;
} this.build = function(compile, scope) {
return compile(directiveBuffer + ' />')(scope);
}
}; return DirectiveUtil;
}]);

使用方式:

  var dirctBuilder = new DirectiveUtil.DirectiveBuilder('tw-contact-form');
dirctBuilder.appendAttr('is-new', 'isNew') // $scope.isNew, $scope.showAddBtn, $scope.initData
.appendAttr('show-add-btn', 'showAddBtn')
.appendAttr('init-data', 'initData'); var li = $('<li></li>').attr('id', 'ContactList' + len);
li.append(dirctBuilder.build($compile, $scope));

注意:引入DirectiveUtil,调用build时传入$compile和$scope。

AngularJS clone directive 指令复制的更多相关文章

  1. AngularJS中Directive指令系列 - scope属性的使用

    文章是转的,我做下补充.原文地址:https://segmentfault.com/a/1190000002773689 每当一个指令被创建的时候,都会有这样一个选择,是继承自己的父作用域(一般是外部 ...

  2. AngularJS中Directive指令系列 - 基本用法

    参考: https://docs.angularjs.org/api/ng/service/$compile http://www.zouyesheng.com/angular.html Direct ...

  3. 关于Angularjs写directive指令传递参数

    包子又来啦.... 在Angularjs当中,我们可能会经常要写directive指令.但是指令如果要共用的话,肯定是有细微的差别的,所以这些差别可能需要一个参数来决定 所以如何在指令中传递参数呢.. ...

  4. angularjs中directive指令与component组件有什么区别?

     壹 ❀ 引 我在前面花了两篇博客分别系统化介绍了angularjs中的directive指令与component组件,当然directive也能实现组件这点毋庸置疑.在了解完两者后,即便我们知道co ...

  5. Angularjs之directive指令学习笔记(二)

    1.Directive的五个实例知道driective作用.其中字段restrict.template. replace.transclude.link用法 参考文章链接地址:http://damoq ...

  6. 【angularJS】Directive指令

    AngularJS 通过被称为 指令 的新属性来扩展 HTML.指令是扩展的 HTML 属性,带有前缀 ng-. 内置指令 1.ng-app 指令初始化一个 AngularJS 应用程序. 定义了 A ...

  7. angularjs学习之六(angularjs中directive指令的一般编程事件绑定 模板使用等)

    angular js 中模板的使用.事件绑定以及指令与指令之间的交互 相应教学视频地址(需FQ):v=aG8VD0KvUw4">angularjs教学视频 <!doctype h ...

  8. AngularJS中Directive指令系列 - bindToController属性的使用

    默认false.这个属性用来绑定scope的属性直接赋给controller.可以为true或者和scope相同格式的对象. 此外使用此属性,要设置controller的别名,通常通过"co ...

  9. AngularJS中Directive指令系列

    近段时间在研究Angular中的directive用法,打算写个系列.以官方文档为主.并参考诸多教程.加上自己的思考. 基本概念及用法 scope属性的使用.  &, <, =, @ 符 ...

随机推荐

  1. Python文件操作方法

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块.   得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()   返回指定目录下的所有 ...

  2. 解决tomcat占用8080端口问题

    在dos下,输入  netstat   -ano|findstr  8080 //说明:查看占用8080端口的进程 显示占用端口的进程 askkill  /pid  44464  /f  //说明,运 ...

  3. jQuery图片滑动

    一个非常简单实用的jQuery插件 可以用在页面的顶部广告展示 http://slidesjs.com/ 一个需要注意的问题, 就是在手机等客户端(IOS8以上), 使用此插件时, 经常会触发插件的r ...

  4. TalkingData Cocos2dx在android平台使用总结

    前言:最近发现很多朋友在使用TalkingData游戏版本Cocos2dx SDK使用过程中会出现的一些问题,今天来做一下总结,希望对您有所帮助: 首先非常感谢您使用TalkingData游戏统计平台 ...

  5. C++函数覆盖的思考

    最近碰到一些问题,一开始很难调试和解决,最后发现原来是在基类函数的模板方法中对子类需要重写的函数没有使用virtual,如下 class Base { public: void say(){test( ...

  6. java获取天气信息

    通过天气信息接口获取天气信息,首先要给项目导入程序所需要的包,具体需要如下几个包: json-lib-2.4.jar ezmorph-1.0.6.jar commons-beanutils-1.8.3 ...

  7. element的height与width

    关于一个element所有的高度宽度 ele.style.width,ele.style.height:操纵style样式.+"px" offsetWidth.offsetHeig ...

  8. [CentOS 0010] CentOS 配置mysql允许远程登录

    Mysql为了安全性,在默认情况下用户只允许在本地登录,可是在有此情况下,还是需要使用用户进行远程连接,因此为了使其可以远程需要进行如下操作: 一.允许root用户在任何地方进行远程登录,并具有所有库 ...

  9. 看源码之Adapter和AdapterView之间的关系

    总述 Android中"列表"的实现其实一个典型的MVC模式,其实中AdapterView相当于是View,负责视图的绘制以及视图的事件响应,Adapter相当于是Controll ...

  10. 感性体验 Android 5.0 Lollipop

    引言 Android5.0大概是在11月下旬开始进行OTA推送,博主手上的这台五太子(Nexus 5)也在前几天收到了Google的推送,博主当然是按耐不住赶紧FQ升级啦,但无奈的是这个大版本更新包有 ...