什么时候 Loader 应该优先于 createQmlObject,反之亦然 - QML?

When should Loader be preferred over createQmlObject and vice versa - QML?

两者都可以动态创建对象。
在 QML 中,什么时候 Loader 优于 Qt.createQmlObject,反之亦然?

Loader可以看作是一个特定对象的占位符。它还使您能够通过 Loader 的 ID 引用基础对象。

Qt.createQmlObject 通常比 Loader 更强大,因为您可以实例化任意数量的对象,而且它没有 Loader 的开销。但是您必须注意跟踪您创建的内容以便能够引用它。

其他函数 Qt.createComponent()createObject() 提供了类似的优势,并且可以传递在创建对象时使用的属性,而不是仅在对象创建后才设置它们。

我个人认为 Loader 没有什么意义,也很少在生产代码中使用它。 IMO 它是为了 "non-programmer" 而引入的,就像大多数最近的开发一样,例如新设计器和 QML .ui 文件,我觉得这有点烦人,但这是可以理解的 - 试图提高非程序员的采用率。