我可以将我的模型对象放在 JS 文件中,然后像共享模型一样重用吗?它应该如下所示:
//Models.JS
var myModel = ListModel {}
我可以将我的模型对象放在 JS 文件中,然后像共享模型一样重用吗?它应该如下所示:
//Models.JS
var myModel = ListModel {}
不,您不能在 JS 中使用 QML 类型(我假设它是 Qt 4.x)。如果“重用”是指共享(例如在全局变量中),则可以将模型作为上下文属性放在全局上下文中。请参阅QDeclarativeContext::setContextProperty()。另一种选择是创建 C++ 模型,其中所有实例将共享相同的状态。
如果您不想拥有单个全局实例,则可以ListModel { id: myModel }
在根元素中声明,并从子元素中访问它(甚至在其他文件中声明)。
Item {
ListModel { id: myModel }
Listview {
id: one
model: myModel
}
Listview {
id: two
model: myModel
}
// etc
}