2011-06-01 60 views

回答

2

是,一個組件應該有具體提及它的孩子們:

myChild.function(functionArguments); 

功能需要公衆,雖然。儘管如此,我不建議從父母那裏調用方法。這是封裝的一個突破。

+0

謝謝!如果我爲您的問題提供瞭解決方案,我忘了將子項功能更改爲公開 – Brds 2011-06-01 17:30:29

+0

@brds;爲什麼要檢查另一個答案? – JeffryHouser 2011-06-01 19:45:39

0

有沒有聽說過使用ID?或一個數據結構來存儲孩子?

另外,應該注意的是,執行parentApplication.functionName是一種非常糟糕的編碼習慣。

+0

我有一個ID爲「block」的中繼器來創建孩子。我嘗試過阻止[i] .init(),但它不起作用。另外,如果parentApplication.functionName是不好的練習,應該如何調用父函數? – Brds 2011-06-01 17:25:47

+0

如果可能的話,請勿使用中繼器,要麼手動創建您的孩子,要麼使用List或其他類型的數據容器。如果你想要你的孩子,請執行'block.getChildAt(i)'。 parentApplication.functionName是不好的做法,因爲它假定你的應用程序總是會有這個功能,即使沒有辦法知道這個具體的東西。您還可以刪除在其他項目/應用程序中重複使用該組件的可能性。你正打破封裝並在不需要的地方創建依賴關係。你應該使用冒泡事件進行孩子 - >父母的交流。 – 2011-06-01 17:33:17

相關問題