fragment是一个轻量级的UI view 没有独立的Controler控制其行为
fragment是对UI的重用
- XML fragment
- HTML fragment
JS fragment
命名规则
[name].fragment.xml
var frag = sap.ui.xmlfragment([id],[fragment path],this)
this.getView().addDependent(frag)
fragment是依赖于view所以是不需要引库的
创建一个view和内置popover的fragment.XML文件
下面是控制层.
showFragment: function(oEvent) {
// create dialog lazily
//要检查是否实例化过,一是重复实例化后重复ID会报错,二是会影响性能,加载比较慢
if (!this._oPopover) {
//实例化
this._oPopover = sap.ui.xmlfragment("richard.demo.fragmentFragmentDemoCase.view.Popover", this);
//通过getView().addDependent方法把oPopover加载到view当中
this.getView().addDependent(this._oPopover);
//set一个JSON对象,里面放置即将传得 值
this._oPopover.setModel(new JSONModel({myLabel:"this is my custom fragment"}));
}
//拿到当前点击的button
var oButton = oEvent.getSource();
//放置popover的地点
this._oPopover.openBy(oButton);
}