• Backbone+React使用


    1.react作为backbone的视图

    2.backone和react和通信,backbone的view 渲染react组件, react组件使用backbone的collection数据

    <!DOCTYPE html>
    <html>
      <head>
        <meta charset="UTF-8" />
        <title></title>
        <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.js"></script>
        <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.js"></script>
        <script src="http://static.runoob.com/assets/react/browser.min.js"></script>
        <script type="text/ecmascript" src="app/scripts/vendor/jquery.min.js"></script>
          <script src="app/scripts/vendor/underscore.js"></script>
           <script src="app/scripts/vendor/backbone.js"></script>
      </head>
      <body >
      <a class="search">点此search</a>
    
    <div id="con">
    
    
        <script type="text/babel">
          var HelloMessage = React.createClass({
            render: function() {
    
            var arr=[];
       this.props.model.each(function(it){
       arr.push('<p>'+it.get('name')+Math.random(0,100000)+'</p>')
       });
              return <div><h1>Hello World!{this.props.name}</h1>
              <h5>
              {
             arr
              }
              
              </h5>
              </div>;
            }
          });
    
    //      ReactDOM.render(
    //        <HelloMessage />,
    //        document.getElementById('example')
    //      );
    
    
           var Model=Backbone.Model.extend({
        defaults:{name:'moren',sex:'nan',email:'eml'}
        });
    
        var CO=Backbone.Collection.extend({
         model:Model,
         url:'/data.aspx'
        });
          var co=new CO();
           var MyView = Backbone.View.extend({
      el: 'body',
      events:{'click .search':'searchobj'},
      template: '</br><div class="widget-container"></div>',
      render: function() {
        this.$el.append(this.template);
       
        var that=this;
                co.fetch({success:function(){
             
                   that.search();
       }
     });
             
        return this;
      },
      searchobj:function(){
          var that=this;
        co.fetch({success:function(){
             
                   that.search();
       }
      })
      },
      search:function(){
         var HM=React.createFactory(HelloMessage);   
        ReactDOM.render(new HM({name:'xxxxx',model:co}), this.$('.widget-container').get(0));
        // ReactDOM.render( HM({name:'xxxxx'}), this.$('.widget-container').get(0));
         // ReactDOM.render(<HM  name='xiaoxiao' mod={co}/>), this.$('.widget-container').get(0));
       // ReactDOM.render(<HelloMessage  name='xiaoxiao' />), this.$('.widget-container').get(0));
      },
      initialize:function(){
      
    
      }
        });
    
       
    
            new MyView().render();
        </script>
        </div>
    
      </body>
    </html>

    data.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="data.aspx.cs" Inherits="TestBackBone.data" %>
    
    [{
    "name":"张国立",
    "sex":"男",
    "email":"zhangguoli@123.com"
    },
    {
    "name":"张国立2",
    "sex":"男2",
    "email":"zhangguoli2@123.com"
    }]
    View Code
  • 相关阅读:
    Codeforces #250 (Div. 2) B. The Child and Set
    linux下又一次定位svn url方法
    查看hive版本号
    好947 Mybatis 配置resultMap 带參数查询Map 注意selectOne数据库返回结果一条数据库 否则会报错
    csdn加入暂时会话功能
    第二十五天 慵懒的投射在JDBC上的暖阳 —Hibernate的使用(四)
    lzma 知识点滴
    golang 登录
    docker入门
    创建和管理表(10)
  • 原文地址:https://www.cnblogs.com/tiancai/p/5700207.html
Copyright © 2020-2023  润新知