Fiori2.0学习笔记-controller

来源:互联网 发布:最新课件制作软件 编辑:程序博客网 时间:2024/06/03 12:28

引言

Fiori是一个MVC架构的模型,其中VC是关系紧密的两个部分,View负责显示页面,Controller负责对页面的一些逻辑进行处理

Constructor

首先继承一个sap.ui.core.mvc.Controller的API ,实例化一个controller

new sap.ui.core.mvc.Controller(sName)

sName :要实例化的控制器的名称。如果一个控制器被定义为真正的子类,那么应该给出子类构造函数的“参数”。

生命周期

onInit
onBeforeRendering
onAfterRendering
onExit

Methods

byId

createId

sap.ui.core.mvc.Controller.extend : 创建类sap.ui.core.mvc的新子类。带有名称sClassName的控制器,使其与oClassInfo中包含的信息丰富。
oClassInfo可能包含相同的信息如sap.ui.base.EventProvider.extend所述。

sap.ui.core.mvc.Controller.getMetadata:返回一个元数据对象类sap.ui.core.mvc.Controller。

getOwnerComponent:获取控制器视图的组件

getView:返回与该控制器关联的视图或未定义的视图。

onAfterRendering:每当呈现视图时,都会调用此方法,在将HTML置于dom树后。它可以用于在渲染器完成后对DOM进行额外的修改。(尽管该方法被声明为“抽象”,它不需要在控制器中定义,如果方法不存在,它就不会被调用。)

onBeforeRendering:每次在呈现视图时调用此方法,在调用渲染器之前,将HTML放置在dom树中。它可以用于在重新呈现之前执行清理任务。(尽管该方法被声明为“抽象”,它不需要在控制器中定义,如果方法不存在,它就不会被调用。)

onExit:这种方法被称为视图的除法。控制器应该在这个钩子上执行内部破坏。它只在每个视图实例中调用一次,不像onBeforeRendering和onafter渲染钩子。(尽管该方法被声明为“抽象”,它不需要在控制器中定义,如果方法不存在,它就不会被调用。)(即用过即销毁)

onInit:此方法在视图初始化时调用。控制器可以在这个钩子上执行它的内部设置。它只在每个视图实例中调用一次,不像onBeforeRendering和onafter渲染钩子。(尽管该方法被声明为“抽象”,它不需要在控制器中定义,如果方法不存在,它就不会被调用。)

<mvc:View controllerName="willExe.controller.View1" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"    displayBlock="true" xmlns="sap.m" xmlns:l="sap.ui.layout">    <App>        <pages>            <Page title="Exe">                <content>                <Button text="click" press="onpress"/>                </content>            </Page>        </pages>    </App></mvc:View>
sap.ui.define([    "sap/ui/core/mvc/Controller"], function(Controller) {    "use strict";    return Controller.extend("willExe.controller.View1", {    init: function(){    },    onpress: function(){        alert("x");    }    }    );});
原创粉丝点击