O escopo dinâmico QML não está funcionando (ReferenceError)

1

Estou tentando reproduzir o exemplo aqui , onde o O componente TitlePage.qml cria duas instâncias TitleText mesmo que o tipo TitleText esteja em um arquivo separado (em Section: Hierarquia de instâncias de componentes). No Ubuntu SDK eu criei um novo projeto (QML App com plugin C ++ (qmake)). Meu Main.qml se parece com isso:

import QtQuick 2.4
import Ubuntu.Components 1.2
import ScopeTesting 1.0

MainView {
    objectName: "mainView"
    applicationName: "scopetesting.username"
    width: units.gu(100)
    height: units.gu(75)
    Item {
        property string title
        TitleText {
            size: 22
            anchors.top: parent.top
        }
        TitleText {
            size: 18
            anchors.bottom: parent.bottom
        }
    }
}

O TitleText.qml se parece com o exemplo:

import QtQuick 2.4
import Ubuntu.Components 1.2
import ScopeTesting 1.0

Text {
    property int size
    text: "<b>" + title + "</b>"
    font.pixelSize: size
}

O que obtenho é um ReferenceError:

...TitleText.qml:7: ReferenceError: title is not defined

O que estou perdendo aqui? Alguém pode ajudar?

    
por Toni 22.11.2015 / 17:35

1 resposta

0

O objeto não pode usar as propriedades de outros objetos diretamente, a menos que elas pertençam ao objeto raiz do arquivo.

Mova property string title para MainView ou forneça um ID para Item e use title por meio do ID.

    
por Velkan 22.11.2015 / 23:12