2014-12-11 4 views
1

В настоящее время у меня есть кнопка при нажатии, отображение шаблона в dom. Я хочу, чтобы кнопка была больше похожа на кнопку «Клонировать элемент и добавить к родительскому элементу», но вместо этого я знаю только, как «клонировать элемент», путем рендеринга шаблона. Это очень дорогостоящая операция для создания шаблона, которого я хочу избежать.Клонирующий элемент вместо рендеринга

Я настоящее время драйвер делает это

Template.addWorkoutExercise.events({ 
    'click .add-exercise': function(e) { 
    Blaze.render(Template.addWorkoutExercise , $('#main').get(0)); 
    e.preventDefault(); 
    } 
}); 

Я хочу знать, если есть способ «клонировать элемент» без рендеринга, или если я могу спокойно скопировать вид каким-то образом.

ответ

0

Я думаю, что с помощью Blaze.View вы можете создать новый вид из шаблона без его немедленного отображения. Затем вы сможете отобразить его либо путем вызова Blaze.render, либо Blaze.toHTML.

+0

Имея позвонить Blaze.render будет по-прежнему выполнять дорогостоящую операцию. – wklhuey

0

Вы можете сделать это с помощью jquery.

Попробуйте это:

$('.element').clone().insertAfter('.element') 
+0

Мне нужно будет сделать больше тестов, потому что Метеор может быть тонким с использованием jQuery напрямую. Найдено больше информации здесь: http://stackoverflow.com/questions/23934060/with-meteor-why-should-dom-manipulation-never-be-done-with-jquery – wklhuey

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