这个的确不是那么好用,最近使用中发现loader主要不让所有界面一起加载,可以实现异步加载的。假如使用如下的asychronous,属性值设置为true,但是光这个没法达成真正的异步加载,这点可以通过Component.onConstruction(类似于构造函数)和Component.onDestruction(类似于析构函数)看到。
Loader{id:rloaderx:0y:0visible: falseasynchronous: trueonStatusChanged: {}}
如果真正的实现异步加载,还必须使用active,同时将active设置为false。
Loader{id:rloaderx:0y:0visible: falseactive: falseasynchronous: trueonStatusChanged: {}}
此时再通过Component.onConstruction(类似于构造函数)和Component.onDestruction(类似于析构函数)看到,component没有加载,而是在事件触发后将active设置为true加载。
如下示例就是一个click区域之后,实现load的功能,可load一个qml文件,注意rectagle开头,也可load一个component。
main.qml:
import QtQuick 2.9
import Q