在应用程序初始化时,所有控制器都由Ember初始化。 使用任何控制器后,它会保留其值,这在重用控制器时会出现问题。 我想知道:
PS:请不要误解“重用控制器”。我想要的是使用相同的控制器,而不使用之前任何任何先前输入的值。
答案 0 :(得分:2)
控制器旨在长期存在并保持应用程序状态,即使它们的视图可能会闪烁。在典型的Ember应用程序中,控制器创建一次并在应用程序的生命周期中生效,因此在应用程序初始化时初始化控制器的原因。
为了便于“重置”控制器,您可以使用Ember.ObjectController
,代理获取和未在控制器上定义的属性集,您设置为content
属性的对象。要重置控制器,只需将content
设置为新对象。