V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Livid
V2EX  ›  分享发现

Flight

  •  
  •   Livid · 2013-02-10 02:27:05 +08:00 · 2495 次点击
    这是一个创建于 4309 天前的主题,其中的信息可能已经有所发展或是发生改变。
    http://twitter.github.com/flight/

    Twitter 新开源的 web 开发框架。
    2 条回复    1970-01-01 08:00:00 +08:00
    0x0001
        1
    0x0001  
       2013-02-10 08:41:22 +08:00
    感谢提醒!

    官方简介:

    Flight is a lightweight, component-based JavaScript framework that maps behavior to DOM nodes. Twitter uses it for their web applications. By way of example, we've included a simple email client demo (browse the source code) built over the Flight framework.

    Flight uses ES5-shim and jQuery. Additionally you will need to include an AMD implementation such as require.js or loadrunner. Please read the Flight documentation for installation instructions.

    Tweet Follow @flight
    wenhuacn
        2
    wenhuacn  
       2013-02-10 11:06:00 +08:00
    怎样使用flight
    1.定义一个组件
    2.将组件的实例绑定到一个DOM节点上

    组件是什么?
    •组件就是通过prototype 在构造函数中构建了一些属性的东东
    •每个组件有一些基本的功能,如事件处理,和组件(其他?)注册
    •而且,每个组件定义了混入一系列自定义的属性来描述他自己的行为
    •当一个组件绑定到一个DOM节点,会创建这个组件的一个新实例,每个组件实例通过她自己的node 属性来访问DOM节点
    •组件示例不能直接被访问,只能通过组件间的事件通讯来访问

    定义一个模块

    必须写一个define 方法来定义组件,第一个参数是一个数组,里面放的是用到的要加载的其他组件
    第二个参数是一个function ,里面写执行的代码

    加载组件



    绑定组件到DOM节点

    每个组件的构造函数都有个 attachTo 的方法,这个方法接受两个参数,第一个是一个DOM节点(或是jquery选择器返回的jquery对象(可能多个))。第二个参数是一个 options(可以不要)对象。如果要支持额外的参数,这些参数会merged 到第一个options参数,这些options 会被merged 到default 对象(这个对象是组件实例的一个属性) [白话一点,就是给attachTo创建的绑定到DOM节点的组件实例对象,提供一些默认的属性,属性一般是一些字符串,可以是‘选择器’;‘css class’;‘text 文本’ 等 ]

    调用attachTo 方法会创建一个新的实例并绑定到他指定的DOM节点。如果第一个参数的选择器得到了多个节点,会为每个节点创建一个组件实例。

    注意,attachTo 不会返回组件实例的对象或其他任何值,你也访问不到这个实例对象,她只会响应事件。

    初始化组件

    当一个组件被创建,通常会先执行一些例行初始化设置。每个组件的prototype 上都附加了一个空的initialize 方法,我们可以讲初始化方法作为after 方法(一个特殊的方法)的参数进行调用。

    初始化方法通常是用了设置事件监听和绑定callbacks 方法的。

    ----------------------------------------------------------------
    已经开始研究了,一边看一边翻译了些文档,这个玩意遵循AMD 规范,要先看看require.js 不然开始一头雾水
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 14:17 · PVG 22:17 · LAX 06:17 · JFK 09:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.