[关闭]
@52fhy 2016-01-22T16:51:39.000000Z 字数 1169 阅读 435

09-backbone视图

backbone


方法属性列表:

  1. view.el
  2. view.render(function(data){})
  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>title</title>
  5. <script src="lib/jquery-1.10.2.js"></script>
  6. <script src="lib/underscore.js"></script>
  7. <script src="lib/backbone.js"></script>
  8. </head>
  9. <body>
  10. <div id="search_container"></div>
  11. <!--定义模板-->
  12. <script type="text/template" id="search_template">
  13. <label><%= search_label %></label>
  14. <input type="text" id="search_input" />
  15. <input type="button" id="search_button" value="Search" />
  16. </script>
  17. <script>
  18. var SearchView = Backbone.View.extend({
  19. initialize: function () {
  20. },
  21. render: function (content) {
  22. //使用了underscore这个库,来编译模板
  23. //var temp = _.template($('#search_template').html());
  24. //$(this.el).html(temp(content));
  25. var temp = _.template($('#search_template').html(), content);
  26. $(this.el).html(temp);//将编译好的模板内容放到this.el
  27. },
  28. //绑定事件
  29. //注意的是在view中定义的dom元素是指你el标签所定义的那一部分dom节点,event进行事件绑定时会在该节点范围内查找
  30. events: {
  31. 'click input[type=button]' : 'doSearch' ,
  32. },
  33. //定义事件里的方法
  34. doSearch: function (event) {
  35. alert('search for: '+ $('#search_input').val());
  36. }
  37. });
  38. //实例化view对象,申明el属性
  39. var view_one = new SearchView({el: $('#search_container')});
  40. //渲染
  41. //这里面需要注意的是在模板中定义的所有变量必须在render的时候传递参数过去,不然就会报错
  42. view_one.render({search_label: 'welcome serch'});
  43. </script>
  44. </body>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注