2012-09-04 24 views
0

如果我有一個視圖 - myCoolView - 我想更改視圖中按鈕的文本,我該如何做?我可以訪問視圖中的元素,只能訪問視圖的引用變量嗎?

鑑於我知道該按鈕被調用,例如,myCoolButton,它被添加到視圖的某些功能,現在,在不同的功能我可以訪問myCoolView,我該如何更改按鈕文本?

我檢查了鈦API,並且我無法在視圖上看到「getter」調用以訪問通過add方法添加到它的任何內容。

回答

2

使用「兒童」屬性,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; 
     } 
    } 
} 
+0

呵呵。所以沒有「直接」的方式?只是爲了保留一個全局(對於js文件,無論如何)變量都是簡單的,它指向名稱「myCoolButton」? – bharal

+1

不。沒有DOM。這些只是普通的舊JavaScript對象。如果你需要,最好保留一個參考。或者,如果您是在某種類型的效用函數中創建它,請返回一個組合的對象,例如{view:view,button:button},以便您可以輕鬆地引用該按鈕,並將該視圖添加到您現有的任何層次結構中有。 –

相關問題