jjzjj

transclude

全部标签

javascript - transclude : true and replace: true in Angular Js之间的基本区别

嘿,我是angularjs的新手,所以我正在浏览angularjs.org文档来制作自定义指令。我想知道transclude和replace之间的基本区别。我见过几个例子,其中他们使用transclude:true和replace:true作为自定义指令。抱歉,如果这是angularjs中的基本问题。只是让我的基础知识清楚。 最佳答案 当您使用transclude时,您将在您的页面上的自定义标签内包含任何可用的html。例如,如果您有:sometext段落标签将包含在您拥有的位置:template:'',因此您到页面的输出将显示为:

javascript - 在模板中使用原始元素类型的 AngularJS 指令

我正在为Angular开发基于UI和排版的指令。在这种情况下,应用该指令的元素是未知的-从div、span、h1到h5的任何元素。使用模板的原因是我可以向它添加ng-*指令(这样开发人员除了指令名称外不需要记住任何东西)。我在添加属性和重新编译元素方面取得了有限的成功。但是,在添加ng-transclude时没有成功。创建新元素并替换旧元素会带来集成问题(忽略元素上可能存在的其他指令和数据属性),复制这些属性并将它们添加到新元素时收效甚微。这看起来应该非常简单,因为template本身可以将元素更改为您指定的任何内容(使用transclude和replace),肯定有“很长的路要走”吗

javascript - Angular : ng-controller on directive does not work on transcluded elements within directive

Here是我的脚本:angular.module('MyApp',[]).directive('mySalutation',function(){return{restrict:'E',scope:true,replace:true,transclude:true,template:'Hello',link:function($scope,$element,$attrs){}};}).controller('SalutationController',['$scope',function($scope){$scope.target="StackOverflow";}])和html:{{

javascript - Angular js中嵌入后的链接功能

我在Angular中有两个指令。一个必须被排斥在另一个之中。我的问题是,在transclude函数运行后,我无法使用简单的JQuery选择器访问DOM。特别是我想编译第一个指令(主题),然后将它注入(inject)到另一个指令(关于我们)中,这样我就可以访问DOM元素在关于我们的链接功能中。这是我想要实现的代码:A)Loremipsumdolorsitamet,consecteturadipisicingelit,seddoeiusmodtemporincididuntutlaboreetdoloremagnaaliqua.Utenimadminimveniam,quisnostrud

javascript - 在 Angular 指令中获取原始嵌入的内容

是否有可能以编程方式在Angular.js指令中获取原始嵌入的内容?我正在尝试创建一个editable可以添加到任何div的指令,允许用户使用自定义AngularDirective(指令)编辑HTML内容。(设计目标是避免在应用程序中添加无限配置GUI功能,因为高级用户只需编辑HTML...),例如:LoremIpsemLoremipsumdolorsitamet,consecteturadipisicingelit...Acustomdirective以这个Plunker为例(http://plnkr.co/edit/nIrr9Lu0PZN2PdnhQOC6?p=preview):点

javascript - Angularjs:理解递归指令

我在这里找到了一个很棒的树指令。原文:http://jsfiddle.net/n8dPm/我一直在尝试通过其他几个SO问题来理解它的功能,1,2.我不太明白渲染树指令的递归调用是如何工作的。主要是编译函数什么时候调用所有编译函数?$compile函数何时缓存在变量compiledContents中(这是链接函数?),何时追加?为什么它不总是追加?--compile:function(tElement,tAttr){varcontents=tElement.contents().remove();varcompiledContents;returnfunction(scope,iElem

javascript - 在不添加新元素的情况下在 AngularJS 中嵌入

有没有办法在不添加额外元素的情况下将一些内容嵌入到指令中。例如指令:{scope:{someParam:"="},link:function(scope,element,attrs){//dosomething},transclude:true,template:''}源代码:mytranscludedcontent:{{somethingElseFromController}}在这个例子中,一个额外的div被添加到标记中。通常这会很好,但我试图在表格中使用此指令,因此添加div标签会搞砸。我也尝试过不指定transclude或template来摆脱额外的div标签,但现在找不到{{s

javascript - 在不添加新元素的情况下在 AngularJS 中嵌入

有没有办法在不添加额外元素的情况下将一些内容嵌入到指令中。例如指令:{scope:{someParam:"="},link:function(scope,element,attrs){//dosomething},transclude:true,template:''}源代码:mytranscludedcontent:{{somethingElseFromController}}在这个例子中,一个额外的div被添加到标记中。通常这会很好,但我试图在表格中使用此指令,因此添加div标签会搞砸。我也尝试过不指定transclude或template来摆脱额外的div标签,但现在找不到{{s

javascript - AngularJS 指令 transclude scope=false?

如何防止带有transclude的指令创建新的作用域?这jsfiddle由于用红色边框说明的新​​作用域,我无法绑定(bind)任何东西。HTML:123JavaScript:angular.module('components',[]).directive('block',function(){return{scope:false,replace:true,restrict:"E",transclude:true,template:'',link:function(scope,el,attrs,ctrl){}}});CSS:.ng-scope{border:1pxsolidred;m

javascript - 在指令中使用 ng-transclude 重复 ng-repeat

我想创建一个在内容更改时具有自定义行为的列表。我尝试为此创建一个指令,但我对如何将ng-transclude与ng-repeat指令结合起来有点迷茫。有人可以让我走上正轨吗?HTML:{{myItem}}Javascript:angular.module('myApp',[]).controller('ctrl',function($scope){$scope.items=['one','two','three'];}).directive('mylist',function(){return{restrict:'E',transclude:'element',replace:true
12