2016-07-05 92 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>