使用预定义标题扩展SAPUI5类

时间:2015-02-12 15:14:23

标签: javascript sapui5

我正在尝试以SAPUI5方式扩展一个类。我写了一个非常基本的版本,看它是如何工作的。但我在这个例子中没有看到预定义的标题:

var app;

sap.m.Page.extend("MyPage", {
  title: "hi",
  renderer: {}
});

app = new sap.m.App({
  pages: new MyPage({
    //title: "Hey there!"
  })
});

app.placeAt("content");

我在这里有一个例子:

http://jsfiddle.net/DerZyklop/76y4m6f0/4/

2 个答案:

答案 0 :(得分:2)

您的定义不正确;根据{{​​3}},您应该为控件元数据指定默认值,如下所示:

metadata: {
  properties: {
    "title": {
       type: "string",
       group: "Data",
       defaultValue: "Hi"
    }
  }
},

答案 1 :(得分:0)

如果您希望define属性具有默认值,您可以尝试这种方式。

sap.m.Page.extend("MyPage", {
  metadata : {
    properties : {
      title : {type : "string", group : "Data", defaultValue : "hi"}
    }
  },
  renderer: {}
});

不幸的是,在页面控件中,title属性设置在" setTitle"方法而不是渲染器。并且当设置默认值时," setTitle"财产没有被称为。所以你可以尝试在init上调用它。

sap.m.Page.extend("MyPage", {
    init: function () {
        this.setTitle("hi");
    },
    renderer: {}
});

这是解决问题的正确方法吗?