2016-09-12 3 views
0

Я пытаюсь получить доступ или, точнее, удалить класс внутри вложенного шаблона из его родительского шаблона. Вот как мой код структурирован.Доступ к div в вложенном шаблоне метеор

Родитель Шаблон

<template name='paymentTemplate'> 
    <div class="progress-wrapper"> 
    {{>progressBar }} 
    </div> 
</template> 

Детский шаблон

<template name="progressBar"> 
<div class="progress"> 
     <div class="checkoutPrg progress-bar progress-bar-success" role="progressbar" aria-valuenow="25" 
     aria-valuemin="0" aria-valuemax="100" style="width: 25%;"> 
     Checkout 
    </div> 
    <div class="DeliveryPrg progress-bar progress-bar-danger " role="progressbar" aria-valuenow="25" 
     aria-valuemin="0" aria-valuemax="100" style="width: 25%;"> 
     Delivery 
    </div> 
    <div class="PaymentPrg progress-bar progress-bar-danger" role="progressbar" aria-valuenow="25" 
     aria-valuemin="0" aria-valuemax="100" style="width: 25%;"> 
     Payment 
    </div> 
    <div class="ConfirmationPrg progress-bar progress-bar-danger" role="progressbar" aria-valuenow="25" 
     aria-valuemin="0" aria-valuemax="100" style="width: 25%;"> 
     Confirmation 
    </div> 


</div> 
</template> 

Итак, моя цель состоит в том, чтобы удалить класс progress-bar-danger из каждой соответствующей DIV и заменить его прогресс-бар-успех на лету. Любые идеи, как это сделать?

+0

Передайте переменную шаблону 'progressBar' и зависните от этого класса (используйте реактивныйVar), аналогичный [this] (https: // форумы .meteor.com/т/шаблоны-и-практики: для обходя-данных-между-шаблоны/2951/100? и = Alon). – MasterAM

ответ

0

Если у вас есть функция, которая срабатывает, когда прогрессбар будет завершена, вы можете использовать простой Jquery так:

$('.DeliveryPrg').removeClass('progress-bar-danger'); 
$('.DeliveryPrg').addClass('progress-bar-success'); 

Это может быть сделано либо в родительском шаблоне (если это где работает функция завершения) , или в дополнительном шаблоне, или даже в некоторых других шаблонах, полностью не связанных. Единственное требование состоит в том, что вложенный шаблон должен быть уже отображен.

При прямом выборе элементов DOM нет необходимости, чтобы это было сделано с помощью шаблона, который фактически отображает этот элемент. Элемент DOM не знает, какой шаблон визуализировал его :-)

+0

Спасибо, что работал так, как я хотел :) – user134

Смежные вопросы