Cascades,10.2 SDK
MyCustomContainer.qml:
import bb.cascades 1.2
Container {
id: rootContainer
Container{
id: childContainer
// some content
}
}
MyPage.qml:
import bb.cascades 1.2
Page {
MyCustomContainer{
Label{
id: label
}
}
}
标签将添加到rootContainer中的所有内容之上。我想在MyCustomContainer中的所有内容下面插入标签(或任何其他内容)。我已经尝试在MyCustomContainer中创建一个属性:
property Container backgroundContent
并将其作为第一个子项添加到MyCustomContainer中:
id: rootContainer
backgroundContent{
id: backgroundContent
}
并在MyPage中将其设置为:
MyCustomContainer{
backgroundContent: Container{
}
但我得到
无法分配给不存在的属性“id”
因为尚未设置属性值。
我可以以某种方式在MyCustomContainer的根目录下插入MyPage.qml中的内容吗?
答案 0 :(得分:0)
听起来您想使用默认属性将MyCustomContainer的任何子项分配给childContainer。
import bb.cascades 1.2
Container {
id: rootContainer
default property content: childContainer.children
Container{
id: childContainer
// All children when this control is used will be placed inside this component.
}
}
然后它可以自然地用作:
MyCustomContainer {
Container {
}
这将在MyCustomContainer组件的childContainer中呈现Container。
答案 1 :(得分:0)
尝试使用backgroundContent.add()
答案 2 :(得分:0)
解决方案相当简单。预测可以在根容器中注入组件的位置,并在那里放置另一个容器。
Container {
id: rootContainer
Container{
id: injectContainer
}
Container{
id: childContainer
// some content
}
}
injectContainer.add(label)