首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在指令中使用相同的指令[angularjs]

在指令中使用相同的指令[angularjs]
EN

Stack Overflow用户
提问于 2015-05-03 15:14:02
回答 2查看 62关注 0票数 1

我需要在指令中使用相同的指令,这取决于条件参数。然而,当我尝试这样做的时候,它似乎走进了一个无尽的循环。据我所知,它试图预加载模板,这会导致无休止的递归,最后,它只抛出以下错误:“RangeError:超过最大调用堆栈大小”。

我已经在小提琴中创建了一个示例。https://jsfiddle.net/qh9nh1gx/

“custom-directive”的模板:

代码语言:javascript
复制
<div>
<div ng-if='info==1'><div custom-directive info='2'></div></div>
<div ng-if='info==2'>DONE,single.</div>
</div>

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-05-03 18:23:15

我发现了两个方法来解决这个问题,第一个就是Jju所描述的--创建一个新的“编译器”方法(可以从他发送的url中抓取)。第二种选择--总是为指令的“递归”部分使用一个额外的模板。例如,在我的指令中,我有一个"ng-repeat“部分,根据项目的值,它可以请求再次显示该指令。虽然我使用了"ng-include“来实现另一个指令,但它还是有效的。

<div ng-repeat="item in items" ng-include="'inline-possibly-recursive-template"'></div>

在该模板中,您可以再次调用该指令,而不会出现任何问题。

我希望这将是任何其他人将陷入这个问题。

票数 1
EN

Stack Overflow用户

发布于 2015-05-03 16:10:00

您可以查看https://stackoverflow.com/a/19065910/1680674,它描述了一种创建内部使用指令的常用方法

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30011216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档