单击事件后呈现模板指令 - AngularJs

时间:2014-11-14 14:38:25

标签: javascript angularjs angularjs-directive

我有一个指令,应该在模板指令中单击该图像的链接后显示图像。我希望能够在用户单击该图像后呈现模板。如何通过指令实现这一目标?

指令用法:

  

<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?
             });

        }
     }

});

1 个答案:

答案 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>

如果不清楚,我会详细说明。