主干:调用方法 remove() 时无法删除视图
Backbone: Can't remove a view when call method remove()
我试图删除一个包含地图中渲染的制造商的视图。当我单击按钮时,事件click .ver
正在激活,但没有任何反应,我收到以下错误:Uncaught TypeError: undefined is not a function
。我不知道我做错了什么。
我的代码:
ev.views.Home_Eventos = Backbone.View.extend({
initialize: function(map){
this.template = _.template(ev.templateLoader.get('home_list_eventos'));
this.map = map;
//console.log(this.map);
this.render(this.map);
},
events: {
'click .ver' : 'teste'
},
teste: function(){
ev.views.Markers.remove();
},
render: function(map){
var that = this;
that.map = map;
var imagens = new ev.models.ImagemCollection();
imagens.fetch({
success: function(){
that.$el.html(that.template({imagens: imagens.models}));
var marcadores = imagens.models;
setTimeout(function() {
that.local(that.map);
var marcadores = new ev.views.Markers(that.map);
}, 0);
return that;
}
});
}
});
ev.views.Markers = Backbone.View.extend({
initialize: function(map){
this.map = map;
this.render(this.map);
},
render: function(map){
var that = this;
var imagens = new ev.models.ImagemCollection();
imagens.fetch({
success: function(){
var marcadores = imagens.models;
setTimeout(function() {
_.each(marcadores, function(marcador){
var myLatlng = new google.maps.LatLng(marcador.get('latitude'),marcador.get('longitude'));
var marker = new google.maps.Marker({
position: myLatlng,
map: that.map,
});
});
}, 0);
return that;
}
});
}
});
您需要保留对要删除的视图的引用。例如,您有:
var marcadores = new ev.views.Markers(that.map);
您可以通过执行以下操作来保存视图上的引用:
that.marcadores = new ev.views.Markers(that.map);
然后在事件处理程序中,
teste: function(){
this.marcadores.remove();
},
这将销毁您创建的Marker
数据视图,但可能无法清理该视图管理的 Google 地图标记。
当你写以下内容时:
ev.views.Markers = Backbone.View.extend({ ... });
您正在创建一个新类。为了使ev.views.Markers.remove();
正常工作ev.views.Markers
需要引用类的实例而不是类本身。
您Uncaught TypeError: undefined is not a function
收到错误ev.views.Markers.remove
因为ev.views.Markers.prototype.remove
不是函数。
相关文章:
- 删除移动视图粘性js上的粘性导航栏
- 拖动&删除Fullcalendar.io资源-更新视图
- 为什么当我单击X时,所有项目都会从我的Backbone.js视图中删除
- 如何删除/销毁附加到主体的主干视图
- 正在删除角度视图属性中的空间
- ASP Web 窗体从视图状态中删除类客户端
- 从移动视图中删除 Div
- 从ASP.NET MVC部分视图中卸载/删除javascript函数
- 如何在获取时删除项目视图
- 从集合中删除项目时,将其从视图中删除
- 在删除视图时取消所有传出的REST HTTP请求
- 删除和取消绑定主干中的子视图
- 从主干中的 DOM 中删除视图
- 如何根据另一个视图中的更改删除视图?骨干
- 主干:调用方法 remove() 时无法删除视图
- AngularJs - ngRepeat 删除视图中的特定行
- 删除视图后未从视图中删除项目
- 延迟删除视图,以便为其设置动画
- 从滚动视图中删除视图
- 删除视图并再次单击打开它,就好像它是新的一样 - SAPUI5