2016-07-05 73 views
1

有人可以告诉我如何为组件设置唯一的ID吗? 我只知道我必须把这个代码在我的default.htmOctobercms组件树枝

{% set uid = '{{__SELF__.id}}' %} 

如何在JavaScript中使用它?

这是干什么用的?

var avatar_{{uid}} = {{ avatar }}; 

例如,这是我的js

$(function(){ 
    $("#tab-close").click(function() {   
     $("#tab").addClass("hidden"); 
    }); 
}); 

如何设置一个唯一的ID吧,这样,当我重复这两个组件仍然可以无差错正常工作?

回答

1

这可能是更好的封装与一个标识符你的控制,这样

<div id="mycontrol{{ __SELF__.id }}"> 
    ... 
</div> 

然后在JavaScript中,你可以针对内的元素:

function initTabs(controlEl) { 
    var $control = $(controlEl) 
    $(".tab-close", $control).click(function() {   
     $(".tab", $control).addClass("hidden"); 
    }); 
} 

上面的代码针对类名仅在$control容器内发现。您可以从标记中调用此功能,如

<script> 
    $(function(){ 
     initTabs('#mycontrol{{ __SELF__.id }}'); 
    }); 
</script>