0
如果我有一個視圖 - myCoolView
- 我想更改視圖中按鈕的文本,我該如何做?我可以訪問視圖中的元素,只能訪問視圖的引用變量嗎?
鑑於我知道該按鈕被調用,例如,myCoolButton
,它被添加到視圖的某些功能,現在,在不同的功能我可以訪問myCoolView
,我該如何更改按鈕文本?
我檢查了鈦API,並且我無法在視圖上看到「getter」調用以訪問通過add
方法添加到它的任何內容。
如果我有一個視圖 - myCoolView
- 我想更改視圖中按鈕的文本,我該如何做?我可以訪問視圖中的元素,只能訪問視圖的引用變量嗎?
鑑於我知道該按鈕被調用,例如,myCoolButton
,它被添加到視圖的某些功能,現在,在不同的功能我可以訪問myCoolView
,我該如何更改按鈕文本?
我檢查了鈦API,並且我無法在視圖上看到「getter」調用以訪問通過add
方法添加到它的任何內容。
使用「兒童」屬性,as documented。
// Create the views.
var myCoolView = Ti.UI.createView();
var myCoolButton = Ti.UI.createButton({
title: 'My Cool Button',
id: 'myButtonsID'
});
myCoolView.add(myCoolButton);
// Later, find the button.
var children = myCoolView.children;
if (children) {
for (var i = children.length - 1; i >= 0; i--) {
if (children[i].id === 'myButtonsID') {
children[i].title = 'My Updated Cool Button';
break;
}
}
}
呵呵。所以沒有「直接」的方式?只是爲了保留一個全局(對於js文件,無論如何)變量都是簡單的,它指向名稱「myCoolButton」? – bharal
不。沒有DOM。這些只是普通的舊JavaScript對象。如果你需要,最好保留一個參考。或者,如果您是在某種類型的效用函數中創建它,請返回一個組合的對象,例如{view:view,button:button},以便您可以輕鬆地引用該按鈕,並將該視圖添加到您現有的任何層次結構中有。 –