首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在单击事件后呈现模板指令- AngularJs

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

Stack Overflow用户
提问于 2014-11-14 14:38:24
回答 1查看 1.8K关注 0票数 0

我有一个指令,应该在单击模板指令中该图像的链接后显示该图像。当用户单击该图像时,我希望能够呈现模板。我怎样才能通过指令实现这一点呢?

指令用法:

<a href="img/img.jpg" gallery><img src="img/img.jpg"></a>

指令简化

代码语言:javascript
复制
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?
             });

        }
     }

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-14 14:46:22

您可以使用由作用域变量触发的ng-if指令,该变量在单击后更改。它不会在稍后执行渲染,我不确定这在没有大麻烦的情况下是可能的。

但是,它在性能上不需要成本,也不会添加包含元素,直到它被解析为真实。

代码语言:javascript
复制
link: function(scope,el,attr) {
    scope.templateState = false;
    el.click(function(e) {
         e.preventDefault();
         scope.templateState = true; // Change state
    });

}

以及模板(包含元素):

代码语言:javascript
复制
<div ng-if="templateState"></div>

如果不清楚的话,我会尽量详细说明。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26932420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档