@52fhy
2016-01-22T16:51:39.000000Z
字数 1169
阅读 435
backbone
方法属性列表:
view.el
view.render(function(data){})
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>title</title>
<script src="lib/jquery-1.10.2.js"></script>
<script src="lib/underscore.js"></script>
<script src="lib/backbone.js"></script>
</head>
<body>
<div id="search_container"></div>
<!--定义模板-->
<script type="text/template" id="search_template">
<label><%= search_label %></label>
<input type="text" id="search_input" />
<input type="button" id="search_button" value="Search" />
</script>
<script>
var SearchView = Backbone.View.extend({
initialize: function () {
},
render: function (content) {
//使用了underscore这个库,来编译模板
//var temp = _.template($('#search_template').html());
//$(this.el).html(temp(content));
var temp = _.template($('#search_template').html(), content);
$(this.el).html(temp);//将编译好的模板内容放到this.el
},
//绑定事件
//注意的是在view中定义的dom元素是指你el标签所定义的那一部分dom节点,event进行事件绑定时会在该节点范围内查找
events: {
'click input[type=button]' : 'doSearch' ,
},
//定义事件里的方法
doSearch: function (event) {
alert('search for: '+ $('#search_input').val());
}
});
//实例化view对象,申明el属性
var view_one = new SearchView({el: $('#search_container')});
//渲染
//这里面需要注意的是在模板中定义的所有变量必须在render的时候传递参数过去,不然就会报错
view_one.render({search_label: 'welcome serch'});
</script>
</body>