问题标签 [angularjs-ng-transclude]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
889 浏览

angularjs - 如何在 table tr 标签上使用 transclude

我必须使用嵌入在指令中注入内容,该指令应用于页面上的 tbody 元素。我正在尝试将 transclude 应用到指令模板的 tr 元素上,但是浏览器现在以某种方式在 tr 元素上加倍 - 它必须在 transclude 运行之前自动将每个 td 列表包装到 tr 中。我怎样才能防止这种情况发生?

请注意:在这种情况下,我必须将其作为表格工作,因此请不要建议用 div 或其他元素替换表格。

模板:

包括文件:

js:

结果:

这怎么发生的?为什么有两个标签相互嵌套?

0 投票
1 回答
482 浏览

angularjs - 什么时候在指令设置的编译/链接过程中发生嵌入?

我正在编写一个使用嵌入的自定义指令。我需要在转入发生后对转入的 DOM 内容进行修改....我是要在后链接中还是在控制器中或...链接中进行此操作...?我不知道嵌入在这些事情发生的顺序中的位置,所以我不知道如何确保在嵌入发生后执行我的 JS。

0 投票
1 回答
41 浏览

javascript - 嵌入似乎放弃了控制器

假设我有以下两个指令:

以及以下html:

当指令加载转换按预期发生时,将控制器设置为我的 apiDirective 控制器。但是在 consumerFunction 中,控制器始终是null. 为什么?我怀疑它与第二次编译有关?

完全删除第二个编译会导致指令无法正常呈现。为什么?

发生了什么,如何在不手动将属性级别控制器内联到指令上的情况下修复它?

plnkr 演示:http ://plnkr.co/edit/Lbh7T9FRg3nS6ERW4HtA

0 投票
1 回答
268 浏览

javascript - 父指令中的 angularjs 函数未从嵌入的 html 调用

我使用 angualrjs 指令创建了一个类似功能的下拉列表,该指令在某种程度上起作用,但不是以我预期的正确方式。
以下是我面临的问题。

  • 下拉列表对齐对于静态是正确的,但对于动态不正确
  • 我无法选择任何选项列表,因为getValue我在父指令中定义的函数没有从 trancluded 指令中调用

谁能告诉我一些解决方案

我的代码如下

柱塞

0 投票
1 回答
84 浏览

javascript - 使用每次不同的 transclude 重复指令

在我的角度应用程序中,我有几个面板具有共享结构,相同的 html。

在面板内部,内容和行为发生了变化,基本上每个都是一个单独的指令,我们称它们为面板内容。

这是我认为最佳的解决方案,但我有一些架构上的疑问。

由于我有指令(其中包含真集):

它的模板如下所示:

我必须重复面板

这一切都很好,但是在<panel-content>我应该展示的每次迭代中“选择”的合理好方法是什么?

可以说我有一个panel.id我可以使用的。

我注意到我可以通过多种方式实现它,我可以<panel-content>使用面板 ID 在视图内进行 ng-switch,我可以设置 templateUrl 具有动态部分并链接到不同的 URL,具体取决于panel.id.

但出于某种原因,我确信我错过了一些更好更直接的东西?

请不要说这个架构不是一成不变的,如果有其他结构更适合我的需求,请告诉我。

那么,问题又来了,我该如何选择?或者更确切地说,谁负责选择<panel-content>应该显示的内容。

0 投票
2 回答
678 浏览

angularjs - 使用 ng-bind 在使用嵌入的指令上定义嵌入的内容

考虑some-directive以下定义对象:

我可以这样使用它:

毫不奇怪,someContent将被放置在它必须的地方。

但我也希望能够以这种方式使用它:

这是一个问题的例子

0 投票
1 回答
1509 浏览

javascript - 在AngularJS中将属性指令动态添加到transclude指令

我正在尝试将属性指令动态添加到 transclude 指令。

例如,模板将按如下方式开始:

事件发生后(例如单击),它将添加一个属性指令,例如:

我正在使用以下 JavaScript 来执行此操作:

但是,这会导致:

我创建了一个精简的演示,展示了我在 Plunker 中尝试做的事情,以展示我是如何做到的:

http://plnkr.co/edit/xIKwJqKFbvs6DVnJrDUh?p=preview

任何帮助,将不胜感激。谢谢。

更新:

根据要求,我创建了一个后续问题,询问是否有更好的方法来实现我想要实现的目标:

使用 AngularJS 创建一个“tab-away”属性指令

0 投票
2 回答
1051 浏览

angularjs - 如何将函数从控制器(角度 1.3)传递到嵌入范围?

我创建了一个简单的可重用集合容器作为具有隔离范围的指令,atransclude选项设置为 true。

});

和一个列表视图指令,我想从控制器传递一个函数来处理对列表项的点击

我的 html 块看起来如下:

但是当我单击链接时,我得到一个参考错误,说action没有定义。问题是,如何将一个函数从控制器传递给这个指令?据我了解,嵌入范围是孤立范围的孩子,这是我无法克服的障碍!

这是一个Plunkr

0 投票
0 回答
551 浏览

angularjs - 如何在 Angular 指令中访问 HTML(转入)

我正在使用 angular-ui。我正在尝试减少 html 编码我使用角度指令制作可重用元素。我肯定错过了一些东西。我想做的是:

<modal modal-title="Some Title" button-text="Click Me">Modal Content</modal>

我希望它输出模态和按钮,因此我可以使用这个自定义元素,而不是一遍又一遍地为模态添加所有标记。它似乎正在工作,只是我无法终生弄清楚如何获取元素内部的内容。这是我正在做的基础知识:

这是模板(partials/modal.html)

如何将元素的内容放入 mCtrl.content?它的其余部分按预期工作,我只是错过了一些东西。谢谢!

编辑:看来我需要使用嵌入,所以这就是我想要做的:

<div class="modal-body"><ng-transclude></ng-transclude></div>

但是当我打开模式时出现这种错误:

[ngTransclude:orphan] Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: <ng-transclude>

0 投票
1 回答
623 浏览

javascript - AngularJS:在编译之前获取指令内容

我想在编译之前获取指令的 html 内容。

这是一个例子:

我想获取所有内容my-directive并将其从中删除并在其他地方使用它(不在它自己的指令内

所以换句话说,我想访问指令 DOM,做一些更改,然后编译它。