Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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,我正在AngularJS中创建上下文菜单指令。在我的网页中,我有一个项目列表,每个项目都有一个按钮,可以打开上下文菜单。 因为屏幕上只有一个上下文菜单可见,所以我想创建一个菜单模板,每次单击上下文菜单按钮时,用所选项目的数据更新模板。 我要寻找的是一种重用模板元素的方法 例如,如果我有1000个项目,那么应该只为所有元素创建一次模板,而不是1000次。每当用户单击触发器按钮时,指令将使用带有项目数据的模板重新编译模板,并将其附加到相关位置 这在AngularJs中可能吗?如果是,最好的实施方式是

我正在AngularJS中创建上下文菜单指令。在我的网页中,我有一个项目列表,每个项目都有一个按钮,可以打开上下文菜单。
因为屏幕上只有一个上下文菜单可见,所以我想创建一个菜单模板,每次单击上下文菜单按钮时,用所选项目的数据更新模板。
我要寻找的是一种重用模板元素的方法

例如,如果我有1000个项目,那么应该只为所有元素创建一次模板,而不是1000次。每当用户单击触发器按钮时,指令将使用带有项目数据的模板重新编译模板,并将其附加到相关位置


这在AngularJs中可能吗?如果是,最好的实施方式是什么

您可以使用ng include,而不是一直创建指令:

您可以创建一个模板,然后将其包含在循环中。用正确的内容更新它的逻辑应该驻留在控制器中

一个问题是,您需要以字符串形式传递模板路径,例如


请注意双引号后的单引号

您可以使用ng includeI,因为我刚刚遇到了类似的情况。你找到解决方法了吗?如果我有1000个项目,部分将被添加1000次!我希望它能一次性地为所有1000个项目创建。是的,但在某个时候,必须有一些东西来生成它。无论是执行DOM操作的指令中的代码还是模板中的代码。你说的是“模板应该只创建一次”,但在创建模板的过程中,你肯定需要循环1000次,同样的效果。也许我不太明白你的问题。。。