Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在指令[angularjs]中使用相同的指令_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

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

Javascript 在指令[angularjs]中使用相同的指令,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我需要在指令中使用相同的指令,这取决于条件参数。然而,每当我尝试这样做时,它似乎进入了一个无休止的循环。据我所知,它试图预加载模板,这会导致无休止的递归,最后,它只会抛出以下错误:“RangeError:超出了最大调用堆栈大小” 我用小提琴创作了一个例子。。正如您在示例中看到的,当param的值为“1”时,它会创建错误(即使第二级param的值为“2”,因此它在控制器/应用程序中不应该有真正的递归问题)。 “自定义指令”的模板: <div> <div ng-if='info=

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

我用小提琴创作了一个例子。。正如您在示例中看到的,当param的值为“1”时,它会创建错误(即使第二级param的值为“2”,因此它在控制器/应用程序中不应该有真正的递归问题)。

“自定义指令”的模板:

<div>
<div ng-if='info==1'><div custom-directive info='2'></div></div>
<div ng-if='info==2'>DONE,single.</div>
</div>

好了,单身。

谢谢你,你可以研究一下,描述一种创建指令的常用方法,在指令中使用他自己,我找到了两种方法来解决这个问题,第一种方法正是Jju所描述的——创建一个新的“编译器”方法(可以从他发送的url中获取)。 第二个选项-始终为指令的“递归”部分使用附加模板。例如,在我的指令中,我有一个“ng repeat”部分,它可以根据items值请求再次显示该指令。虽然我使用了“ng include”来表示另一个指令,但它仍然有效