2014-12-11 100 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