Доступ к родительскому jS-коду onRendered из childern, сгенерированному в каждом выражении
Я довольно новичок в Meteor и Blaze, поэтому мне жаль, если что-то здесь неясно... Но я хочу реализовать этот "Быстрый просмотр продукта" https://codyhouse.co/gem/css-product-quick-view/ in мой проект Метеор.
Анимация работает отлично, когда я не использую каждое утверждение. В каждом утверждении контекст данных изменяется, и когда я нажимаю 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/
1 ответ
Это решило проблему
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/