0

我可以将我的模型对象放在 JS 文件中,然后像共享模型一样重用吗?它应该如下所示:

//Models.JS
var myModel = ListModel {}
4

1 回答 1

0

不,您不能在 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
}
于 2013-02-01T22:52:17.937 回答