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":"[email protected]"
},
{
"name":"张国立2",
"sex":"男2",
"email":"[email protected]"
}]

时间: 2024-08-23 12:49:59

Backbone+React使用的相关文章

Reactjs学习 -- factory、component和element

在使用reactjs的时候,我们经常会使用到下面三个方法: React.createFactory() React.createClass() React.cleateElement() 这三个方法接受的参数和返回的对象类型是不同的. React.createFactory 该方法会接受一个component类型的对象,并且返回一个factory方法.使用返回的factory可以创建element.如 <span style="font-size:12px;">var fa

2017年 JavaScript 框架回顾 -- 前端框架

概述: 对于 JavaScript 社区来说,npm 的主要功能之一就是帮助开发者发掘所需的 npm Registry 中的库和框架.npm 强大的搜索功能能够帮助找到一组相关的软件包,同时其内置的的文档和使用统计信息,可以帮助开发者决定使用哪一种软件包. 选择过程中,一个重要的评估因素就是社区对软件包项目的持续支持:是否正在积极的维护?是否有足够大的社区来维持项目? 评估的过程中,软件包的普及程度是一个重要的考量因素.不论是通过博客文章还是教程的方式,一个具有大型社区的软件包意味着有更多的开发

知乎live - 三年从前端小工到架构

王利华 刚毕业 在高德 携程 淘宝 0-3年如何发展 1 技能和能力的区别 css js 抽象 切勿好高骛远 要重视基础 2 人和人的差距是什么 注意个人品牌 提高认知 格局 3 起步 面向 基础编程 要努力到擅长 才会有兴趣 要能迈过大坎 看书: Dom 高级程序设计 权威指南 CSS权威指南 数据结构和算法 mvc 定制组件化方案 服务端基础 框架使用: backbone react vue 打包工具webpack 模版 underscore ejs是模版引擎 html5 css3 mobi

走进前端开发——框架的演变

对于大多数前端框架,我想聊一聊,这些前端框架从何而来,解决了什么问题,又有哪些高明之处. 认识了解问题,切忌一头扎进去研究而未了解其全貌.为此,我们追溯到20世纪90年代,网景浏览器横空出世,占据了浏览器市场第一的份额.那时的网景浏览器已经搭载了 Cookie. Frames 和 JavaScript 等功能,可惜好景不长,再后来与微软的"浏览器大战"中败下了阵来. 于是网景公司将代码开源,创造了 Mozilla ,也就是现在的 Firefox.可以说,浏览器大战从未停止过,Opera

MVC、MVP、MVVM、Angular.js、Knockout.js、Backbone.js、React.js、Ember.js、Avalon.js 概念摘录

转自:http://www.cnblogs.com/xishuai/p/mvc-mvp-mvvm-angularjs-knockoutjs-backbonejs-reactjs-emberjs-avalonjs.html MVC MVC(Model-View-Controller),M 是指业务模型,V 是指用户界面,C 则是控制器,使用 MVC 的目的是将 M 和 V 的实现代码分离,从而使同一个程序可以使用不同的表现形式. 交互方式(所有通信都是单向的): View 传送指令到 Contro

Backbone视图渲染React组件

1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 <title></title> 6 <script src="react/react-0.14.7/build/react.js"></script> 7 <script src="react/react-0.14.7/buil

Backbone笔记(续)

Backbone Bockbone 总览 Backbone 与 MVC 模式:解决某一类问题的通用方案 - 套路 MVC:一种架构模式,解耦代码,分离关注点 M(Model) - 数据模型 V(View) - 表现视图 C(Controller) - 控制器 Backbone 与 SPA 传统web应用与 SPA 的区别: 状态概念代替了页面概念 http://www.example.com/page1 http://www.example.com/page2 http://www.exampl

React介绍

why React? React是Facebook开发的一款JS库,那么Facebook为什么要建造React呢,主要为了解决什么问题,通过这个又是如何解决的? 从这几个问题出发我就在网上搜查了一下,有这样的解释. Facebook认为MVC无法满足他们的扩展需求,由于他们非常巨大的代码库和庞大的组织,使得MVC很快变得非常复复杂,每当需要添加一项新的功能或特性时,系统的复杂度就成级数增长,致使代码变得脆弱和不可预测,结果导致他们的MVC正在土崩瓦解.认为MVC不适合大规模应用,当系统中有很多的

细说React(二)

上篇文章主要介绍了React的基本用法,这次将介绍一个React路由组件—react-router. 在 web 应用开发中,路由系统是不可或缺的一部分.在浏览器当前的 URL 发生变化时,路由系统会做出一些响应,用来保证用户界面与 URL 的同步.随着单页应用时代的到来,为之服务的前端路由系统也相继出现了.有一些独立的第三方路由系统,比如 director,代码库也比较轻量.当然,主流的前端框架也都有自己的路由,比如 Backbone.Ember.Angular.React 等等.那 reac