簡體   English   中英

如何刪除舊的骨干視圖

[英]How to delete old backbone views

我在互聯網上搜索了觸發舊視圖破壞的方法。 有執行此操作的功能,但是,我不知道如何觸發它們。 理想情況下,將有一種方法在關閉視圖時觸發破壞。 我找不到一種方法來觸發該特定事件。

您應該按照文檔http://backbonejs.org/#View-remove中的說明調用view.remove()觸發其銷毀。

例如,如果您有:

var myView = Backbone.View.extend({
    initialize: function() {
        ...
    },

    render: function() {
        ...
    }
});

如果您有對myView的引用, myView可以稍后調用myView.remove()

如果您使用的是listenTo (推薦)方法(而不是on偵聽器),則此方法還應該刪除綁定到視圖的所有事件偵聽器。 您也可以添加view.off()以確保事件被刪除。

此外,您將需要為視圖添加一種方法來偵聽close事件,以便可以調用remove和off方法。 您應該參考12

德里克·貝利(Derick Bailey)的這部古老而奇妙的作品在解釋問題和解決方法方面做得很好。 正如莫妮卡正確建議的那樣,這依賴於view.remove()但您可以更新路由器以破壞現有視圖-嘗試類似的方法

if (currentView) { 
  currentView.remove();
  currentView = newView();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM