我有一个指令,应该在模板指令中单击该图像的链接后显示图像。我希望能够在用户单击该图像后呈现模板。如何通过指令实现这一目标?
指令用法:
<a href="img/img.jpg" gallery><img src="img/img.jpg"></a>
指令简化
app.directive('gallery', function() {
return {
scope: {},
templateUrl: '/templates/gallery.html', // to Render after Click
link: function(scope,el,attr) {
el.click(function(e) {
e.preventDefault();
// How can I render here the template?
});
}
}
});
答案 0 :(得分:0)
您可以使用由单击后更改的作用域变量触发的ng-if指令。 它没有在以后执行渲染,我不确定是否可能没有一个很大的麻烦。
但它不会在性能上花费或添加包含元素,直到它被解决为真。
link: function(scope,el,attr) {
scope.templateState = false;
el.click(function(e) {
e.preventDefault();
scope.templateState = true; // Change state
});
}
模板(包含元素):
<div ng-if="templateState"></div>
如果不清楚,我会详细说明。