简单的视图
simple view
我试图在backbone.js中运行非常简单的视图下面是代码:
(function($){
window.templateLoaderView = Backbone.View.extend({
events: {
'click #add_contact': 'loadTaskPopup'
},
initialize: function () {
alert('templateLoaderView - initialize');
_.bindAll(this, 'render');
},
render: function() {
alert('templateLoaderView - render');
},
loadTaskPopup: function() {
alert('templateLoaderView - loadTaskPopup');
}
});
})(jQuery);
$(document).ready(function() {
window.templateLoaderView = new templateLoaderView();
});
<div id="add_contact">CLICK HERE</div>
当页面加载时,它会提醒这个alert('templateLoaderView - initialize');
,但是当我单击div时,什么也没有发生。你能告诉我哪里做错了吗?
有几件事出错了。
- 当你创建视图时,它创建
this.el
作为一个DIV,但它不植根于任何 - 你的事件试图钩住视图的DIV,它没有内部的
#add_contact
- 你没有得到
render
的警报,因为没有任何东西调用render
。
让点击处理程序工作的最简单方法是告诉视图要附加到哪个元素:
window.templateLoaderView = new templateLoaderView({el: $("body") });
更进一步…
虽然,你可能希望你的DIV在你的视图中创建…它会像这样:
(function($){
window.templateLoaderView = Backbone.View.extend({
template: _.template('<div id="add_contact">CLICK HERE</div>'),
events: {
'click #add_contact': 'loadTaskPopup'
},
render: function() {
$(this.el).html(this.template());
return this;
},
loadTaskPopup: function() {
alert('templateLoaderView - loadTaskPopup');
}
});
})(jQuery);
$(document).ready(function() {
window.templateLoaderView = new templateLoaderView();
$("body").append(window.templateLoaderView.render().el);
});
相关文章:
- 简单的javascript在Shopify中不起作用
- 挖空JS绑定不输出简单视图模型的值
- 简单高图表用作单独的.js文件,但不在视图中
- 在 sapui5 上显示“简单窗体”视图
- 主干中的简单视图不起作用
- 优化显示简单项目列表的模型/视图
- 在视图中简单呈现 AngularJS 范围数据
- 从视图源下载html的简单方法,同时保留文件夹结构
- 使用JavaScript创建简单的视图引擎
- todo的一个简单应用程序,不向视图添加输入值
- Backbone-简单集合视图-can't打印项目
- 如何使用HTML/Twitter Bootstrap/Jquery Mobile等创建简单的iOS类型的表视图
- 绑定带有单个记录的简单视图模型
- 主干代码不呈现简单视图
- 简单的视图
- 骨干和下划线模板一个简单的视图
- 模型视图控制器-用于非常简单的单页原型的Javascript框架
- 主干.js视图,是一个简单的选择列表
- 我应该从一个简单的django AJAX视图返回什么样的响应?
- 确保JSON在简单的视图模型对象上漂亮地打印,而不会触及javascript (ASP. js).Net MVC 4)