2016-10-20 37 views
0

我對Meteor和Blaze很新穎,所以我很抱歉如果這裏有些事情不清楚......但是我想在我的產品中實現這個'產品快速查看'https://codyhouse.co/gem/css-product-quick-view/流星項目。從childern中獲取每個語句中生成的'onRendered'js代碼

當我不使用每個語句時,動畫效果很好。在每個語句中,數據上下文都會改變,當我點擊cd-trigger時,什麼都不會發生。如何訪問此子模板的ParentTemplate.onRendered內的代碼?有沒有解決這個問題的辦法?

<template name="ParentTemplate"> 
    {{> Product}} // works properly 

    {{#each products}} // does not work 
    {{> Product}} 
    {{/each}} 
</template> 

<template name="Product"> 
    <li class="cd-item"> 
    <img src="img/item-1.jpg" alt="Item Preview"> 
    <a href="#0" class="cd-trigger">Quick View</a> 
    </li> <!-- cd-item --> 
</template> 

和js文件

Template.ParentTemplate.onRendered(function() { 
//open the quick view panel 
$('.cd-trigger').on('click', function(event){ 
    console.log('Hello!'); 
    var selectedImage = $(this).parent('.cd-item').children('img'), 
     slectedImageUrl = selectedImage.attr('src'); 

/the code continues but it is very long/ 

回答

0

這解決了這一問題

Template.ParentTemplate.onRendered(function() { 
this.autorun(() => { 
    if (this.subscriptionsReady()) { 
     //open the quick view panel 
     $('.cd-trigger').on('click', function(event){ 
     console.log('Hello!'); 
     var selectedImage = $(this).parent('.cd-item').children('img'), 
     slectedImageUrl = selectedImage.attr('src'); 

/the code continues but it is very long/