我正在初始化另一個QML頁面的屬性。頁面屬性在onCreationCompleted中未正確初始化,黑莓10
我的第一個QML頁面的代碼 - page1.qml
如下:
Page{
id: page1
//Some code
Button{
text: "Click Me"
onClicked: {
var page = nextPage.createObject();
page.cost = netCost; //netCost is an int property of page1 and is calculated in the code
resvNav.push(page); //resNav is the id of the NavigationPane
}
}// Button ends
attachedObjects: [
ComponentDefinition {
id: nextPage
source: "page2.qml"
}
]
}// page ends
我的第二頁中的代碼 - page2.qml
如下:
Page{
id: page2
property int cost
property alias labeltext: label1.text
Container{
Label{
id: label1
}
}// Container ends
onCreationCompleted{
console.debug(cost);
var totalCost = cost + 50;
labeltext = totalCost;
}
}//Page ends
現在的問題是,無論cost
的值從page1.qml
傳遞到page2.qml
它的值如控制檯所示始終爲0,因此totalCost
始終爲50. 當我使用代碼label1.text: cost
,則顯示該屬性的正確值。
在onCreationCompleted
中使用的屬性是否未初始化?如果不是,那麼一旦頁面被推送,使用和/或修改屬性的方法是什麼?我試着給自定義JavaScript函數從onCreationCompleted
,但它會產生相同的結果,即cost
保持0
您的解決方案有效。謝謝。 – HumptyDumptyEIZ