Sapui5 将动态片段绑定到视图
我想通过视图动态加载XML片段。我在片段视图中加载模型绑定时遇到一些问题 为什么这样做有效Sapui5 将动态片段绑定到视图,sapui5,Sapui5,我想通过视图动态加载XML片段。我在片段视图中加载模型绑定时遇到一些问题 为什么这样做有效 <Input value="{mobile}" /> 结果输入 结果片段 恐怕在初始化控制器之前,该片段将尝试加载。如果符合您的要求,您可以通过控制器添加片段。由于装载顺序,我看不到其他方法。我在下面添加了一个小示例 以下是一些提示: 请确保在XML片段中传递视图的ID,否则您将无法使用this.byId(“IDoftheControl”)访问控件。这是因为如果通过控制器添加片段,它不会添
<Input value="{mobile}" />
结果输入
结果片段
恐怕在初始化控制器之前,该片段将尝试加载。如果符合您的要求,您可以通过控制器添加片段。由于装载顺序,我看不到其他方法。我在下面添加了一个小示例 以下是一些提示:
this.byId(“IDoftheControl”)
访问控件。这是因为如果通过控制器添加片段,它不会添加视图的前缀此
作为片段实例化中的最后一个参数。如果不这样做,您添加到控件中的函数将不会执行,因为将找不到片段控件的控制器VBox
或其他布局控件添加它们。如果将其他内容添加到视图中,它将更易于阅读 <Page title="Fragment Test Page" id="idPage">
</Page>
控制器
setFragmentNameToView: function(){
var oModel = new sap.ui.model.json.JSONModel({
mobile: "com.xxxxxxx.fragment.fieldsFragment"
});
var bindingContext = new sap.ui.model.Context();
bindingContext.oModel = oModel;
bindingContext.sPath = "/";
this.getView().setBindingContext(bindingContext);
this.getView().setModel(oModel);
},
onInit: function(){
this.onAddFragment();
},
onAddFragment: function(){
var oFragment = sap.ui.xmlfragment(this.getView().getId(), "<PathToFragment>", this);
this.byId("idPage").addContent(oFragment);
}
onInit:function(){
这个.onAddFragment();
},
onAddFragment:函数(){
ragment的var=sap.ui.xmlfragment(this.getView().getId(),“”,this);
此.byId(“idPage”).addContent(of ragment);
}
我试过调试订单,你是对的。我也可以用你的方式。非常感谢。
onInit: function(){
this.onAddFragment();
},
onAddFragment: function(){
var oFragment = sap.ui.xmlfragment(this.getView().getId(), "<PathToFragment>", this);
this.byId("idPage").addContent(oFragment);
}