0
我正在爲Weebly創建拖動&拖放元素。 Weebly將每個元素包裝在Backbone JS視圖中,如explained here。銷燬事件或將外部DOM項鍊接到Backbone模型
// My js file. PlatformElement is a Weebly-controlled object exposed to me.
PlatformElement.extend({
initialize: function() {
// Weebly calls this method automatically at element creation time.
// This is where I add a new menu item to an external navigation menu.
}
});
當骨幹觀點是initialize
d,我一個新的DOM節點添加到外部導航菜單。我的問題從這裏開始:當我的模型被銷燬時,我創建的DOM節點仍然存在。
每次用戶在網頁設計器界面中重新配置我的元素時,Weebly會破壞/重新創建視圖。我的外部菜單節點不會被破壞,因爲它不是模型的一部分,並且我的JS沒有意識到destory事件可以手動刪除菜單節點。
當然,這意味着每個更改爲我的元素創建另一個重複的菜單節點。
問題:
- 是否有一個事件Weebly暴露給我,或者本地骨幹功能暴露給我,讓我知道,我的模型被銷燬?
- 或者,有沒有辦法將我的外部菜單節點「鏈接」到我的模型,以便當我的模型被銷燬時,菜單節點也是如此?
['.listenTo' VS'.on'(https://stackoverflow.com/q/16823746/1218980) –
@EmileBergeron我只是好奇,使用'on'和'listenTo'在答案中似乎是正確的。怎麼了? –
@TJ是的,但應該避免'on',我想指出。 –