我是否必须为每个Ember.js应用程序显式创建“ApplicationView”和“ApplicationController”?

我是否必须为每个Ember.js应用程序显式创建“ApplicationView”和“ApplicationController”?,ember.js,Ember.js,从 应用程序必须具有ApplicationView属性。实例 该类将为您创建并插入到应用程序的 将层次结构视为根视图 本教程给出了以下示例代码: App.ApplicationView = Ember.View.extend({ templateName: 'application' }); App.ApplicationController = Ember.Controller.extend(); ApplicationView和ApplicationController有什么特别之处

应用程序必须具有ApplicationView属性。实例 该类将为您创建并插入到应用程序的 将层次结构视为根视图

本教程给出了以下示例代码:

App.ApplicationView = Ember.View.extend({
  templateName: 'application'
});

App.ApplicationController = Ember.Controller.extend();
ApplicationView
ApplicationController
有什么特别之处?它们的特定名称是保留的,必须通过转换使用,还是路由器引用它们的方式有什么特殊之处

据我所知,Ember的原则之一是消除样板代码。因此,我猜测,有更多的东西可以明确地为每个应用程序创建这两个视图作为起点,否则Ember只会在幕后为我创建它们

要重新表述我的问题,是什么使
ApplicationView
ApplicationController
在余烬应用程序中特别。我是否需要为每个应用程序显式创建它们?如果需要,是否需要按照约定命名它们


注意:我使用的是ember最新版本

ember.js,它试图坚持约定优于配置的编程理念。因此,有些东西需要特别命名,并遵循正确的大小写规则。调用
App.initialize()
时,应用程序会在自身
App.ApplicationView
上查找属性。然后,应用程序渲染此视图,将其插入dom,并自动创建
app.ApplicationController
的实例,将其设置为
ApplicationView
的渲染上下文。这意味着只要在视图中引用
applicationcontroller
中的任何属性,就可以在
ApplicationView
中绑定它们

如果调用
App.initialize()
时没有
App.ApplicationView
App.ApplicationController
ember将抛出一个错误,让您知道必须创建它们


ApplicationView
ApplicationController
是您的余烬应用程序不可分割的一部分,必须存在。Ember是一个MVC框架,
ApplicationView
是您的根V,
ApplicationController
是您的根C。尝试使用像Ember这样的框架来实现您想要的功能是很有诱惑力的,但只需再多做一点工作,您的功能就会更加强大,和易于使用的应用程序,尝试挑选功能。

Ember.js试图坚持约定优于配置的编程理念。因此,有些东西需要特别命名,并遵循正确的大小写规则。调用
App.initialize()
时,应用程序会在自身
App.ApplicationView
上查找属性。然后,应用程序渲染此视图,将其插入dom,并自动创建
app.ApplicationController
的实例,将其设置为
ApplicationView
的渲染上下文。这意味着只要在视图中引用
applicationcontroller
中的任何属性,就可以在
ApplicationView
中绑定它们

如果调用
App.initialize()
时没有
App.ApplicationView
App.ApplicationController
ember将抛出一个错误,让您知道必须创建它们


ApplicationView
ApplicationController
是您的余烬应用程序不可分割的一部分,必须存在。Ember是一个MVC框架,
ApplicationView
是您的根V,
ApplicationController
是您的根C。尝试使用像Ember这样的框架来实现您想要的功能是很有诱惑力的,但只需再多做一点工作,您的功能就会更加强大,和易于使用的应用程序,试图挑选功能。

+1的伟大解释。您是否有任何参考或示例代码显示,如果未定义
App.ApplicationView
,ember将抛出错误?原因是到目前为止,我还没有在我的任何JSFIDDLE中定义它,也没有看到任何错误。另外,我认为ember最新版本通过将
autoinit
设置为
true
消除了调用
App.initialize()
的需要。这对这个场景有影响吗?@Aras不,这不应该有影响。应用程序是自动初始化的,但始终需要ApplicationView和ApplicationController+1来进行详细解释。您是否有任何参考或示例代码显示,如果未定义
App.ApplicationView
,ember将抛出错误?原因是到目前为止,我还没有在我的任何JSFIDDLE中定义它,也没有看到任何错误。另外,我认为ember最新版本通过将
autoinit
设置为
true
消除了调用
App.initialize()
的需要。这对这个场景有影响吗?@Aras不,这不应该有影响。应用程序是自动初始化的,但始终需要ApplicationView和ApplicationController