网格布局数据不适用于 sap.ui.view 个元素
Grid layoutData is not applied for sap.ui.view elements
请看下面的plunker link
问题是当使用视图作为模板时
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"
})
});
未应用布局数据 属性 对象。产品将使用网格默认值 "L3 M6 S12" 逻辑显示。
当使用标签等其他元素时,HTML不会出现此错误。
var productTemplate = new sap.ui.commons.Label({
text: "{name}",
layoutData: new sap.ui.layout.GridData({
span: "L1 M3 S6"
})
});
请查看Main.view.js并更改文件进行测试。
我做错了什么?
谢谢!
你是对的,布局数据没有应用到视图。发生这种情况是因为 属性 不是 sap.ui.view() 函数的有效参数。仅支持以下内容:
- id {String}
- viewName {String}
- 控制器 {sap.ui.core.mvc.Controller}
- 类型 {sap.ui.core.mvc.ViewType}
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"
}));
但是,我不建议在单独的视图中创建用于数据绑定的模板,因为这伴随着视图的整个生命周期。更好的方法是你的第二个例子,你立即创建标签。
请看下面的plunker link
问题是当使用视图作为模板时
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"
})
});
未应用布局数据 属性 对象。产品将使用网格默认值 "L3 M6 S12" 逻辑显示。
当使用标签等其他元素时,HTML不会出现此错误。
var productTemplate = new sap.ui.commons.Label({
text: "{name}",
layoutData: new sap.ui.layout.GridData({
span: "L1 M3 S6"
})
});
请查看Main.view.js并更改文件进行测试。 我做错了什么?
谢谢!
你是对的,布局数据没有应用到视图。发生这种情况是因为 属性 不是 sap.ui.view() 函数的有效参数。仅支持以下内容:
- id {String}
- viewName {String}
- 控制器 {sap.ui.core.mvc.Controller}
- 类型 {sap.ui.core.mvc.ViewType}
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"
}));
但是,我不建议在单独的视图中创建用于数据绑定的模板,因为这伴随着视图的整个生命周期。更好的方法是你的第二个例子,你立即创建标签。