是否有为backbone.js提供论坛/问题跟踪网站?
我有一个问题,点击事件多次触发。我找到了一个使用Underscore.js,debounce方法的工作。
最新的backbone.js是否解决了问题?
请在此建议我。
Raja K
define([
'jquery', 'underscore','backbone',], function($, _, Backbone,Marionette) {
var Sample = Backbone.Marionette.ItemView.extend({
template: 'sample/sample',
model : new Model(),
render: function() {
id = utils.getStorage('some_id');
if(parseInt(id) > 0 ) {
this.model.set({some_id:id});
this.rendersome(id);
} else {
data = new Model().toJSON();
this.renderdata(data);
}
},
events: {
"click #some" : "someinfo"
},
someinfo : function() {
var self = this;
$.ajax({
url: API_URL + "sample/sampleinfo",
type: 'POST',
crossDomain: true,
cache: true,
data: JSON.stringify({ 'code1': this.model.get('code1'),
'code2' : this.model.get('code2'),
"auth" : init.auth, "user_id" : init.user_id }),
contentType: 'application/json',
success: function(data,response,jqXHR) {
if('SUCCESS' == data._meta.status && data.records.message.me == 'positive') {
self.model.set(data.records);
self.renderdata(data.records);
} else {
console.log(data.records.message);
return false;
}
},
error: function (request, status, error) {
console.log(request);
}
});
},
change: function (event) {
var target = event.target;
var change = {};
change[target.name] = target.value;
this.model.set(change);
},
});
return Sample;
});
下面的路由器初始化代码,
routeaction : function() {
var Header = new HeaderView({'el': '#header'});
Header.render();
var test = new Tview({'el': '#content'});
test.render();
}
更新:我正在使用backbone.subroute并且视图被破坏但在此之后没有渲染。因为引用相同元素的旧对象和当前对象都是如此。但为什么它不再渲染?你能告诉我我在这里缺少什么吗?
render: function () {
// remove the existing header object
if(typeof gheader == "object") gheader.close();
// render the object
self.$el.html(tmpl(data));
},
更新:我猜view.remove()工作正常。我在$ el重用了容器,view.remove()删除了容器元素并停止渲染其他视图。我应该重新创建容器吗? 我可以使用“tagName”,但建议我如何应用样式表?
答案 0 :(得分:-1)
undelegateEvents()删除所有视图的委派事件。如果要禁用或删除视图,则非常有用 DOM暂时。