一、什么是Alt

altJS是基于Flux使用Javascript应用来管理数据的类库,它简化了flux的store、actions、dispatcher。

关于Flux,以下链接都做了很好的诠释

http://news.cnblogs.com/n/208305/

http://www.cnblogs.com/linerz/p/react-flux-example-todomvc-analysis.html

二、还需要了解

React, CommonJS, ES5 Javascript, 至于ES6,本文采用ES5做例,有兴趣的朋友可以转成ES6,关于ES6浏览器兼容问题,还要下载babel进行转换。

三、安装

alt是基于Note.js开发的,所以安装前需要安装note.js

使用npm安装alt:npm install alt

四、Alt的基本结构

项目结构

|--actions/

|  |--MyActions.js

|--stores/

|  |--MyStore.js

|--components/

|  |--MyComponent.jsx

|--alt.js

|--app.js

六、创建alt

var Alt = require(‘alt’);

var flux = new Alt();

module.exports = flux;

七、创建Actions

alt 通过自定义的方法进行actions的创建createActions

var flux = require(‘…/flux’);

module.exports = flux.createActions({

     GetData:function(input){

           /*
        webapi get 获取数据data
      */ this.dispatch(data);    },    GetDetail: function(id){   /*获取单条数据*/   this.dispatch(data);    } });

八、创建Store

var flux = require(‘…/flux’);

var MyActions= require(‘../actions/MyActions’);

var MyStore =  flux.createStore({

              bindListeners:{
  Handledata: MyActions.GetData,
        HandleDetail:MyActions.GetDetail
        },         Handledata:function (data){
this.setState({datas: data});         },
        HandleDetail:function(data){
          this.setState({data:data});
        }
},’MyStore’); module.exports = MyStore;

九、在View中使用MyComponent.jsx

var React = require(‘react’);

var MyStore = require(‘../Stores/MyStore’);

var MyAction = require(‘../Stores/MyAction’);

var MyComponent = React.createClass({

       getInitialState:function(){

           return MyStore.getState();

    },

    getDetail: function(data,e){

                var id = data.Id;

                MyAction.GetDetail (id);

    },

    componentDidMount: function(){

                MyStore.listen(this.onChange);

    },

    componentWillMount: function(){

                MyStore.unlisten(this.onChange);

    },

    onChange: function(state){
this.setState(state);     },     render: function(){ return(             <ul>
  
              {this.state.datas.map(function(data){
                Return (                   <li onClick={this.getDetail.bind(null,data)}>{data.name}</li>);               })} </ul>          );     } }); module.exports = MyComponent;

Alt.js的入门的更多相关文章

  1. JS快速入门(二)

    目录 JS快速入门(二) 结构图 BOM window对象 open() window子对象 location对象 history对象(了解) navigator 对象 screen对象 BOM 定时 ...

  2. Node.js快速入门

    Node.js是什么? Node.js是建立在谷歌Chrome的JavaScript引擎(V8引擎)的Web应用程序框架. 它的最新版本是:v0.12.7(在编写本教程时的版本).Node.js在官方 ...

  3. doT js模板入门

    doT.js github地址: doT.js 官方站点 实例1:简单 <!DOCTYPE html> <html lang="en"> <head& ...

  4. Angular JS从入门基础 mvc三层架构 常用指令

    Angular JS从入门基础  mvc模型 常用指令 ★ 最近一直在复习AngularJS,它是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心 ...

  5. EChart.js 简单入门

    EChart.js 简单入门 最近有一个统计的项目要做,在前端的数据需要用图表的形式展示.网上搜索了一下,发现有几种统计图库. MSChart   这个是Visual Studio里的自带控件,使用比 ...

  6. alt.js 使用教程

    1.action : import alt from "../alt.js"; class DemoActions{ constructor() { this.generateAc ...

  7. HTML5游戏开发引擎Pixi.js新手入门讲解

    在线演示 本地下载 ​这篇文章中,介绍HTML5游戏引擎pixi.js的基本使用. 相关代码如下: Javascript 导入类库:(使用极客的cdn服务:http://cdn.gbtags.com) ...

  8. Node.js开发入门—使用cookie保持登录

    这次来做一个站点登录的小样例,后面会用到. 这个演示样例会用到Cookie.HTML表单.POST数据体(body)解析. 第一个版本号,我们的用户数据就写死在js文件中. 第二个版本号会引入Mong ...

  9. Node.js开发入门—HelloWorld再分析

    在Node.js开发入门(1)我们用http模块实现了一个简单的HelloWorld站点,这次我们再来细致分析下代码.了解很多其它的细节. 先看看http版本号的HelloWorld代码: 代码就是这 ...

随机推荐

  1. 第一章 Collections 类、泛型类和Timing类概述

    摘抄<数据结构与算法(C#语言描述)> 删除很多废话 1.1群集(collection)的定义 群集是一种结构化的数据类型.存储数据,并且提供数据的添.删.改操作,以及对群集不同属性值的设 ...

  2. CentOS7.0安装与配置Tomcat-7

    解决权限不够 #chmod a+x filename 安装说明 安装环境:CentOS-7.0.1406安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:ht ...

  3. C#导出GridView数据到Excel文件类

    using System; using System.Web; using System.Web.UI; using System.IO; using System.Web.UI.WebControl ...

  4. MongoDB探索之路(一)——入门

    1.MongoDB和传统关系型数据库的比较  2.面向文档的 NoSQL 数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能.  3.MongoDB可以作为日志分 ...

  5. Fix: Compile project encounter undefined reference to“xxx”error

    Need to add all the new cpp files to jni/Andriod.mk folder:

  6. jqueryMobile应用第一课《构建跨平台APP:jQuery Mobile移动应用实战》连载一(Hello World)

    有人说每个程序员都曾经有过改变世界的梦想,笔者认为,这与程序员年轻时编写的第一个程序有着莫大的关系.简简单单的一句“hello world”让年轻的心开始相信梦想,用一种低调的壮志凌云向世界展示自己的 ...

  7. Microsoft SqlServer2008技术内幕:T-Sql语言基础-读书笔记1

    一.理论背景:关系模型,其数学理论是集合论和谓词逻辑. 1.集合论:集合定义是把我们直观或思维中确定的,相互间有明确区别的那些对象视为一个整体,这个整体就是集合. 2.谓词逻辑:谓词是判断对象是否有某 ...

  8. 转载:监控每个节点(Indices部分)

    集群的健康只是一个方面,它是对整个集群所有方面的一个很高的概括.节点状态的api是另外一个方面,它提供了关于你的集群中每个节点令你眼花缭乱的统计数据. 节点的状态提供了那么多的统计数据,在你很熟悉它们 ...

  9. SecurityManager一:理解AccessController.doPrivileged()

    AccessController.checkPermission()检测模型: 从VM Stack的current stack frame起逐个检测stack frome所指class的protect ...

  10. 别跟我来这套 Hot Swap 热插拔

    如果你觉得我们演的不好,可以随时打断,如果你觉得怎么演好可以随时来改,你都可以直接来演.