1

我想将一个对象从一个 qml 传递到另一个 qml。我有一个列表模型。

ListModel {
       id:favouriteapp
           ListElement {
               id: 1
               name:"ABSC"
               title:"5:03pm"
               description:"heloo-1"
               icon1:"images/climate_icon.png"
               icon2:"images/climate_icon.png"
               pinStatus : false
               isLoaded: false

           }
           ListElement {
               id: 2
               name:"GHTT"
               title:"Home at 5:23pm"
               description:"via Gaydon Road-2"
               icon1:"images/navigation_icon.png"
               icon2:"images/navigation_icon.png"
               pinStatus : false
               isLoaded: false

           }
}

现在我想将ListElementvia 字符串值的每个属性传递给其他 qml。

如何将整个ListElement对象传递给其他 qml。

4

2 回答 2

2

正如@folibis 所说,您需要为您的对象提供正确的 id

ListElement {
    id: obj1
    ...
}

MyFile.qml可以将引用传递给您的ListElement对象:

Item{
    ...
    function myFunction(listElementObject){
        //whatever you need to do with your object
    }
}

在同一个 QML 文件ListModel

MyFile{
    id: myFileId
}

Component.onCompleted: myFileId.myFunction(obj1)
于 2016-10-26T13:30:44.280 回答
0

您始终可以使用favouriteapp.get()JavaScript 对象来访问任何列表元素,并将该对象传递到您需要的任何地方。

您还可以允许其他组件访问模型并让它访问它需要的列表元素。

您还可以让其他组件提供数据对象或单独的属性,并将它们绑定在您可以访问模型的位置。

于 2016-10-26T11:27:21.660 回答