1

25次最安全,最快捷的方式我在二25點獨立意見,這是基於一個集合中的一個模型中,所有創建的,是這樣的:什麼是操縱在鈦

tiles.each(function(tile){ 
    var tileView = Alloy.createController('board/tile', { 
     tile: tile, 
    }); 
    tile.controller = tileView; 

    $.boardContainer.add(tileView.getView()); 
} 

在這種情況下, ,tiles是Appcelerator集合,並且tile是模型。

在應用程序的邏輯中的某個時刻,我需要調用所有25個貼圖,並隱藏一個視圖。

我目前做的是遍歷集合再次,並調用視圖導出這樣

function disableArrow(){ 
    $.arrow.visible = false; 
    arrowsVisible = false; 
} 
exports.disableArrow = disableArrow; 

此工作的功能,但不是很順暢,當你有一個緩慢的設備就可以作爲看到瓷磚渲染......這種問題最好的解決方案是什麼?

+0

請參閱[元:你看什麼\ [appc \]?](http://meta.stackoverflow.com/questions/314689/do-you-see-what-the-appc) – Deduplicator

回答

-1

我想你可以使用TableView結合數據綁定,而不是手動創建一堆視圖。 看這裏:Alloy data binding
順便說一下,爲什麼你只需要視圖時創建25個控制器?

+0

該視圖在一個網格中,他們需要四處移動,因此TableView不是一個選項。另外,每個視圖都有相當多的邏輯,所以真正需要一個控制器來自我控制邏輯。 非常感謝,但這不是解決辦法恐怕 –

+0

合金數據綁定不會幫助,但甚至會給出更糟的結果,因爲它會重新渲染整個表格。 –

0

我不認爲你有什麼解決方案試圖實現。如果你需要操作25個視圖,那麼需要發生的事情。你不能一次操縱所有的人。

你可能能夠優化的唯一的事情就是循環它們。你可以 - 哈克 - 保留一個數組,直接引用所有這些arrow視圖,並通過循環而不是通過控制器進行循環。