angularjs指令重用模板

时间:2014-08-26 21:41:35

标签: javascript angularjs angularjs-directive

我在AngularJS中创建了一个上下文菜单指令。在我的网页中,我有一个项目列表,每个项目都有一个打开该上下文菜单的按钮 由于屏幕上只显示一个上下文菜单,我想创建一个菜单模板,每次单击上下文菜单按钮时,使用选择项目的数据更新模板。
我正在寻找的是一种重用模板元素的方法。

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

AngularJs有可能吗?如果是,实施它的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

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

https://docs.angularjs.org/api/ng/directive/ngInclude

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

问题是,您需要将模板路径作为字符串传递,例如

<span ng-include="'partials/folder/includes/my-template.html'"></span>

请注意双引号后的单引号。