2014-12-11 98 views
1

目前我点击一个按钮,呈现一个模板到DOM中。我希望按钮更像“克隆元素并附加到父元素”按钮,但我只知道如何通过重新渲染模板来“克隆元素”。渲染我想避免的模板是非常昂贵的操作。克隆元素而不是渲染

Currrently我这样做

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

我想知道如果有“克隆元素”,而无需渲染的方式,或者,如果我可以放心地以某种方式复制视图。

回答

0

我认为,通过使用Blaze.View,您可以从模板创建新视图而不立即渲染。然后您可以通过调用Blaze.renderBlaze.toHTML来呈现它。

+0

不必调用Blaze.render将仍然执行的昂贵的操作。 – wklhuey 2014-12-11 19:35:32

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 2014-12-11 19:38:35