zoukankan      html  css  js  c++  java
  • Backbone使用总结

    Backbone使用总结

     View   (主要通过观察者模式)

     视图(DOM)通过使用listenTo监听collection,model变化

    1. this.listenTo(c,'remove',function(model, collection){
    2. $('#'+ model.id).remove();
    3. // sum(c.length);
    4. });
    5. this.listenTo(c,'add',function(model, collection){
    6. console.log(model);
    7. console.log(collection);
    8. var view =newView(model);
    9. $("#mail-list").append(view.render().el);
    10. });

    视图与视图通信

    父视图与子视图之间通信方式:
    1. varParentView=Backbone.View.extend({
    2. tagName:'div',
    3. id:'parentDiv',
    4. initialize:function(){
    5. this.childView =newChildView();
    6. },
    7. render:function(){
    8. this.$el.html(this.childView.render().el);
    9. returnthis;
    10. }
    11. });
    12. varChildView=Backbone.View.extend({
    13. tagName:'div',
    14. id:'childDiv',
    15. render:function(){
    16. this.$el.html('hello wrold');
    17. returnthis;
    18. }
    19. });
    20. var parentView =newParentView();
    21. $('body').append(parentView.render().el);
     
     
    子视图与子视图之间通信方式:
    方式一:通过父视图
    1. varParentView=Backbone.View.extend({
    2. tagName:'div',
    3. id:'parentDiv',
    4. initialize:function(){
    5. this.childView =newChildView();
    6. this.childView2 =newChildView2();
    7. //方式一
    8. this.childView.listenTo(this.childView2,'test',function(data){
    9. console.log('--------------');
    10. console.log('data--->',data);
    11. });
    12. },
    13. render:function(){
    14. this.$el.html(this.childView.render().el);
    15. this.$el.append(this.childView2.render().el);
    16. console.log('trigger childrenView2');
    17. this.childView2.trigger('test');
    18. returnthis;
    19. }
    20. });
    21. varChildView=Backbone.View.extend({
    22. tagName:'div',
    23. id:'childDiv',
    24. render:function(){
    25. this.$el.html('hello wrold');
    26. returnthis;
    27. }
    28. });
    29. varChildView2=Backbone.View.extend({
    30. tagName:'div',
    31. id:'childDiv2',
    32. initialize:function(){
    33. this.on('test',function(){
    34. console.log('hello');
    35. });
    36. },
    37. render:function(){
    38. this.$el.html('hello wrold222222222');
    39. returnthis;
    40. }
    41. });
    42. var parentView =newParentView();
    43. $('body').append(parentView.render().el);
     
    方式二:通过全局便利Backbone
    1. varParentView=Backbone.View.extend({
    2. tagName:'div',
    3. id:'parentDiv',
    4. initialize:function(){
    5. this.childView =newChildView();
    6. this.childView2 =newChildView2();
    7. },
    8. render:function(){
    9. this.$el.html(this.childView.render().el);
    10. this.$el.append(this.childView2.render().el);
    11. returnthis;
    12. }
    13. });
    14. varChildView=Backbone.View.extend({
    15. tagName:'div',
    16. id:'childDiv',
    17. render:function(){
    18. Backboone.trigger('children2',{name:'children111111111111111'});
    19. this.$el.html('hello wrold');
    20. returnthis;
    21. }
    22. });
    23. varChildView2=Backbone.View.extend({
    24. tagName:'div',
    25. id:'childDiv2',
    26. initialize:function(){
    27. Backbone.on('children2',function(data){
    28. console.log('this is ChilrenView2222222222222');
    29. console.log(data);//{name:'children111111111111111'}
    30. })
    31. },
    32. render:function(){
    33. this.$el.html('hello wrold222222222');
    34. returnthis;
    35. }
    36. });
    37. var parentView =newParentView();
    38. $('body').append(parentView.render().el);
     
    * 数据逻辑处理尽量不要放在视图层(View)
    未完。。。。。。。。。。。。。。。。
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    Reporting Services系列三:几个细节
    Tips&Tricks系列一:更改VS2005设置
    Reporting Services系列二:引用.NET DLL
    数据库基础系列之六:因空间不足导致IMP失败
    .NET基础示例系列之十四:C#导出建表语句及数据
    Reporting Services系列四:折叠报表
    数据库基础系列之七:IMP数据到指定的表空间
    .NET基础示例系列之十六:制做进程监视器
    .NET基础示例系列之十九:Dundas For ASP.NET
    .NET基础示例系列之十五:操作Excel
  • 原文地址:https://www.cnblogs.com/niunai007/p/6540150.html
Copyright © 2011-2022 走看看