请看下面的柱塞链接
问题是当使用视图作为模板时
var productTemplate = new sap.ui.view({
viewName: "view.Product",
type: sap.ui.core.mvc.ViewType.JS,
layoutData: new sap.ui.layout.GridData({
span: "L1 M3 S6"
})
});未应用layoutData属性对象。这些产品将使用Grid默认的"L3 M6 S12“逻辑显示。
当使用其他元素(如Label )时,不会出现此错误。
var productTemplate = new sap.ui.commons.Label({
text: "{name}",
layoutData: new sap.ui.layout.GridData({
span: "L1 M3 S6"
})
});请在Main.view.js中查看并更改文件以测试它。我做错了什么?
谢谢!
发布于 2015-07-09 12:34:15
您是对的,layoutData没有应用于视图。这是因为属性不是sap.ui.view()函数的有效参数。只有以下几点得到支持:
layoutData属性来自视图的继承链中的sap.ui.core.Element,但是sap.ui.view函数根本不考虑它。但是,您可以在初始化之后附加它:
var productTemplate = new sap.ui.view({
viewName: "view.Product",
type: sap.ui.core.mvc.ViewType.JS
}).setLayoutData(new sap.ui.layout.GridData({
span: "L1 M3 S6"
}));但是,我不建议在单独的视图中创建数据库模板,因为这与视图的整个生命周期有关。一个更好的方法将是您的第二个例子,您将立即创建标签。
https://stackoverflow.com/questions/30399309
复制相似问题