gpt4 book ai didi

javascript - 在 sapui5 上显示简单表单 View

转载 作者:行者123 更新时间:2023-12-03 07:42:46 25 4
gpt4 key购买 nike

我正在一个主/细节模板的项目中工作,我在 Master.view.xml 中创建了一个按钮,我对 SAPUI5 和 SAP Web IDE 开发还是新手,当我单击按钮时实际上没有任何反应,甚至认为当我在chrome上调试时,我没有发现错误,这是我的Master.view.xml

<sap.ui.layout:content>
<Button text="Ajouter" enabled="{appView&gt;/addEnabled}" width="100px" id="addButton" icon="sap-icon://add" press="onAdd" activeIcon="sap-icon://accept"/>
</sap.ui.layout:content>

这是我的主 Controller 方法:

onAdd : function(){     
this.getRouter().getTargets().display("create");
},

这是我的 Component.js 路由

    routing: {

config: {
routerClass: com.emi.MyRouter,
viewType: "XML",
viewPath: "com.emi.view",
targetAggregation: "detailPages",
// controlId: "idAppControl",
// targetControl: "idAppControl",
controlAggregation: "detailPages",
clearTarget: false
},
routes: [




{
pattern: "",
name: "main",
view: "Master",
targetAggregation: "masterPages",
targetControl: "idAppControl",
subroutes: [
{
pattern: "{entity}/:tab:",
name: "detail",
view: "Detail"

}
, {
pattern: "{entity}/:tab:/{item}",
name: "userDetails",
view: "UserDetails"
},
{
pattern: "create",
name: "createEntity",
view: "CreateEntity",
target: "create"
}


]
},


{
name: "catchallMaster",
view: "Master",
targetAggregation: "masterPages",
targetControl: "idAppControl",
subroutes: [
{
pattern: ":all*:",
name: "catchallDetail",
view: "NotFound",
transition: "show"
}
]

}
],
targets: {
master: {
viewName: "Master",
viewLevel: 1,
viewId: "master",
controlAggregation: "masterPages"
// controlId: "idAppControl"
},
object: {
viewName: "Detail",
viewId: "detail",
viewLevel: 2
},
create: {
// viewPath: "sap.ui.com.emi.view.CreateEntity",
viewName: "CreateEntity",
targetAggregation: "pages",
viewLevel: 1,
controlAggregation: "detailPages",
transition: "show",
controlId:"idAppControl"

}
}


}

},

最后这是我的 oninit 方法,位于 CreateEntity.Controller.js

onInit: function() {

var oRouter, oTarget;
oRouter = this.getRouter();
oTarget = oRouter.getTargets().getTarget("create");


},

但是当我单击按钮时,没有任何反应,当我调试代码时,我发现没有错误,这意味着我的 View 在那里但没有显示。我怀疑我的 oninit 函数有问题,你能帮我吗?谢谢您

最佳答案

请执行以下操作:

确保 onAdd 事件由警报 alert("reached the onAdd event"); 触发,例如在 onAdd 事件开始时触发。

如果 onAdd 事件被触发,那么您的导航应该使用 .getRouter().navTo("create"); 完成。命令。正确使用oRouter.getTargets().getTarget("create");请引用 Step 5绑定(bind)演练的内容

最后,最好将您的路由配置推送到 manifest.json 中。也就是说,路由部分应该只具有以下属性:patternnametarget。在你的情况下:

pattern: "create",
name: "createEntity",
target: "create"

您还需要调整其他条目 - 再次参阅上面链接的导航演练。

最后,您的目标部分可以非常简单地阅读,如下所示:

"createEntity": {
"viewPath": "com.emi.view.CreateEntity",
"viewName": "CreateEntity",
"viewLevel" : 2

希望这有帮助。强烈建议执行上面链接的 SAP 提供的演练!!!

关于javascript - 在 sapui5 上显示简单表单 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35337652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com