首页 > 解决方案 > 更改标题的标题

问题描述

我使用 SAPUI5 框架。在一个页面内,有两种可能的操作,创建一个新患者和编辑一个患者。新的和编辑的控制/视图页面被编译成一个,一个控制和一个视图,用于新建和编辑。

由于它们都在一页控件/视图中,因此每当我尝试创建新患者或编辑患者时,我都会为这两个选项获得相同的标题。

我的做法。

  1. 获取页面的 URL -> 新建或编辑。-> 拆分直到我得到,如果它是新的或编辑的。
  2. 如果它是新的,则将标题更改为新,如果将标题编辑为编辑。
var completurl = window.location.href;
var split = completurl.split("/");
if(split[7] == 'new'){
   this.byId("semantic:DetailPageID").setTitle("New");
}  
else {
  this.byId("semantic:DetailPageID").setTitle("Edit");
}               

预期:更改标题的标题。实际情况:不会做事

标签: node.jssapui5

解决方案


首先,您需要 main.view.xml 中的不同按钮。

main.view.xml:

<Button press="onPressNew" text="New"/>
<Button press="onPressEdit" text="Edit"/>

现在您可以使用本地模型来保存操作

编辑New.controller.js:

onPressEdit: function () {
    this.myLocalModel.setProperty("/Action", "Edit");
    //Navigate to editNew.view.xml
},
onPressNew: function () {
    this.myLocalModel.setProperty("/Action", "New");
    //Navigate to editNew.view.xml
}

在您的 editNew.view.xml 中,您可以使用表达式绑定

编辑新视图.xml:

<Page id="pageEditNew" title="{= ${localModel>/Action} === 'Edit' ? ${i18n>title_edit} : ${i18n>title_new}}">

推荐阅读