在javascript中的Component中没有createObject方法

时间:2012-02-22 06:55:22

标签: javascript qml createobject

我有像

这样的内联组件
Component {
    id: movie_delegate
    MovieListItem {
        movie: movie
    }
}

现在我正在尝试创建像

这样的新对象

movie_delegate.createObject

但是没有这样的方法。 但如果我喜欢这样:

var comp = Qt.createComponent("MovieListItem.qml");
var o = comp.createObject(model);

一切正常。

2 个答案:

答案 0 :(得分:1)

不要内联组件,而是使用Qt.createQmlObject和字符串。

e.g。 (来自http://doc.qt.nokia.com/4.7-snapshot/qdeclarativedynamicobjects.html#creating-an-object-from-a-string-of-qml

var newObject = Qt.createQmlObject('import QtQuick 1.0; MovieListItem {movie: movie}', parentItem, "dynamicSnippet1");

答案 1 :(得分:0)

当我修正了其他错误时,这个问题已经消失了,因为它们不相关,这有点奇怪,但可能我只是看不到关系。无论如何,问题已经结束。