2011-06-01 58 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

相关问题