Ftr #

Course #

Modules #

Ftr v0.7.0 Documentation


ftr/ctr #

static ViewController::render(vdom[,parentView) #

  • 通过vdom创建视图或视图控制器DOM对像

  • @arg vdom {Object} VDOM描述数据

  • @arg [parentView] {View} 传入父视图时将新创建的视图加入到它的结尾
  • @ret {View|ViewController}

Example:

import { GUIApplication, ViewController, Root, Div } from 'ftr'
import 'ftr/http'
class MyCtr extends ViewController {
    triggerLoad(e) {
        http.get('http://192.168.1.100:1026/README.md?param=' + this.message.param, bf=>(this.modle = {bf}));
    }
    render() {
        return (
            <Div width=100 height=100 backgroundColor="#f00">
                {this.modle.bf&&this.modle.bf.toString('utf8')}
            </Div>
        )
    }
}
new GUIApplication().start(
    <Root>
        <MyCtr message={param:10} />
    </Root>
);

Class: ViewController #

ViewController.onLoad #

  • 开始第一次调用render时触发

ViewController.onMounted #

  • 第一次完成render调用后触发

ViewController.onRemove #

  • 调用删除remove()时触发

ViewController.onRemoved #

  • 调用删除remove()后触发

ViewController.onUpdate #

  • DOM内容被更新时触发

ViewController.modle #

  • 控制器视图模型

  • {Object}

Get: ViewController.owner #

Get: ViewController.dom #

ViewController.id #

  • 获取或设置一个id,这个id在同一个控制器内部不能重复

  • 可通过IDs.id在父视图控制器中查询子控制器

  • {String}

Get: ViewController.IDs #

  • 控制器内部所有具名id子dom的索引

  • {Object}

Get: ViewController.isLoaded #

  • 触发onLoad后会设置成true

  • {Boolean}

Get: ViewController.isMounted #

  • 控制器挂载后会设置在true

  • {Boolean}

ViewController.render(...vdoms) #

  • 通过vdom数据载入视图,这是个相当重要的方法,所有gui视图载入创建以及视图数据的绑定都在这个方法中完成,

    重写ViewController类与该方法来实现自定义组件。

  • @arg vdom {[VDOM]}

  • @ret {VDOM}

ViewController.style #

ViewController.remove() #

  • 删除控制器,同时会触发onRemove事件

  • --> View.remove()