Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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和DOM元素注入_Javascript_Angularjs_Dom - Fatal编程技术网

Javascript AngularJS和DOM元素注入

Javascript AngularJS和DOM元素注入,javascript,angularjs,dom,Javascript,Angularjs,Dom,请原谅我的标题,我不知道如何确切地描述它 我是AngularJS的新手,我想征求你关于如何创造一些东西的建议 我有一张清单,我正在用它画。单击每个列表项时,将打开一个折叠菜单。此菜单对于列表的所有元素都是相同的。目前,my ngRepeat将此菜单绘制到每个列表项,并仅在单击相应的列表项时显示它。因此,如果我的列表有50个项目,我将绘制50次菜单!这比我真正需要的多49倍 如果我要用jQuery实现这一点,我只需要创建菜单并更改它在dom上的位置。我怎样才能做到这一点呢 列表外观的示例图像,灰色

请原谅我的标题,我不知道如何确切地描述它

我是AngularJS的新手,我想征求你关于如何创造一些东西的建议

我有一张清单,我正在用它画。单击每个列表项时,将打开一个折叠菜单。此菜单对于列表的所有元素都是相同的。目前,my ngRepeat将此菜单绘制到每个列表项,并仅在单击相应的列表项时显示它。因此,如果我的列表有50个项目,我将绘制50次菜单!这比我真正需要的多49倍

如果我要用jQuery实现这一点,我只需要创建菜单并更改它在dom上的位置。我怎样才能做到这一点呢

列表外观的示例图像,灰色项是带有其操作的菜单。所有项的外观相同,调用相同的函数,但参数不同:

单击菜单项时,使用
ngIf
而不是
ngShow
,在这种情况下,html根本不会呈现(当然,当表达式为false时)

我想在这种情况下,
ng if
将是一个更好的选择,因为这将根据条件创建dom,而不是像
ng show
那样显示/隐藏已经创建的元素

从文档:

ngIf指令删除或重新创建DOM树的一部分 基于{表达式}。如果指定给ngIf的表达式计算 如果设置为false值,则该元素将从DOM中删除,否则 元素的克隆将重新插入DOM


这是一个演示:

请发布您正在使用的代码。此外,我不确定jQuery实现与AngularJS repeat有何不同。它只是在改变DOM。谢谢!这就是我要找的:)以前不熟悉这个。