前面我们已经创建了MVC中的View 和Controller,这次需要填加的是其中的M Model。我们将加入一个输入框,并且将它的值与Model绑定。有了前面的基础我们很容易理解这里的变化,加入了一个依赖模块,JSONModel,重要的是加了一个onInit的响应事件,前面的按钮我们知道了事件代码是需要触发的,不管是直接写代码还是Layout Editor编辑都能看出来按钮的onPress逻辑绑定在了press这个事件上,但这个onInit却是系统自带默认一个事件,onInit是一个SAP UI5的生命周期方法,在Controller创建的时候会被Framework调用,相当于是这个Controller的一个构造函数。
- 在Controller中加入JSONModel 需要的参数
"sap/ui/model/json/JSONModel"JSONModel
|
|
在Controller增加一个onInit函数,onInit是一个SAP UI5的生命周期方法,在Controller创建的时候会被Framework调用,相当于是这个Controller的一个构造函数。
|
|
这里就是定义了一个Data model,这个Model只有一个属性recipient,这个属性又包含一个属性name,默认值是World。
新实例一个JSON Model
为了可以在XML View中使用这个Model,调用一个setModel的函数来传递新建的Model。相当于进行了绑定。

再看View,定义完Data Model就可以使用它了,在这里加了一个sap.m.Input控件{ }使用大括号来表示Model对象的属性(recipient的name属性),这叫做数据绑定data binding,
留心的话可以发现上面多加了一句data-sap-ui-compatVersion="edge",这句话有什么作用呢,如果不加这句就只能简单绑定simple binding,加了就可以*复合绑定complex binding,应该就是可以和其它类型的变量一起混合使用,具体参考Compatibility Version Inforamtion不加就只有这句可以正确赋值value="{/recipient/name}",加上这句后description="Hello {/recipient/name}",description才可以有这个变量值,否则{/recipient/name}会以字符串的形式显示在屏幕上。
下面显示两种效果,对比一下

MVC
这里加入了JSONModel,应该已经算是MVC结构了,Model分几种?又是在哪里定义怎么控件的呢?
https://sapui5.hana.ondemand.com/#docs/guide/91f233476f4d1014b6dd926db0e91070.html
明天研究这个…