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',我想指出。 –