Ember.js Ember抱怨未定义的命名空间

Ember.js Ember抱怨未定义的命名空间,ember.js,Ember.js,我得到这个错误: Uncaught Error: assertion failed: You are looking for a edit controller in the Node namespace, but the namespace could not be found 但如果我检查对象(Chrome开发者工具),我会确认: App.nodeditcontroller已定义 Ember.TEMPLATES['node/edit']已定义(我使用预编译的模板) 定义了模型App.No

我得到这个错误:

Uncaught Error: assertion failed: You are looking for a edit controller in the Node namespace, but the namespace could not be found
但如果我检查对象(Chrome开发者工具),我会确认:

  • App.nodeditcontroller
    已定义
  • Ember.TEMPLATES['node/edit']
    已定义(我使用预编译的模板)
  • 定义了模型
    App.Node
是什么导致了这个问题?我还能证实什么?这是什么东西?我以前从未使用过它,我的应用程序正在运行

我所做的唯一更改与代码库的重组有关:我已将模板/控制器/模型/视图拆分为文件-但它们与
grunt
任务再次连接,因此不应出现任何真正的更改(从我现在使用预编译的模板这一事实可以看出)

我还验证了
设置app.Router.Router.recognizer.names


这解决了问题,至少您可以再次导航到编辑路线

更改此项:

SettingsApp.NodeController = Ember.ObjectController.extend({
    isEditing: false,
    needs: [node/edit]
    ...
为此(删除需要)


希望它有帮助…

这解决了问题,至少您可以再次导航到编辑路线

更改此项:

SettingsApp.NodeController = Ember.ObjectController.extend({
    isEditing: false,
    needs: [node/edit]
    ...
为此(删除需要)


希望对您有所帮助……

您能将其简化为一个仍然失败的小示例,然后(如果您愿意)将其发布到类似JSFIDLE的地方吗?我怀疑真正的问题可能在您的代码中的其他地方。错误显示为EditController被定义为
Node.EditController
App.Node.EditController
。因此,如果不是这样,您需要显示更多的代码。@gonvaled,您可以通过从chrome开发工具启动的应用程序的App.Router.Router.recognizer.names来验证ember对您的路由的了解,希望它有助于查看名称空间,当一个网页中有多个ember应用程序时,名称空间最有用。Ember需要模板位于“Ember”命名空间中,而不是应用程序的命名空间“app”中。我认为,在Ember名称空间下使用编译的模板代码可以解决这个问题,但可能还有更多问题,我已经创建了一个jsbin:。所有我的模板/控制器/模型/。。。有。我还必须嵌入余烬数据,因为CDN版本与余烬的CDN版本不兼容(余烬数据仍然不稳定)。不幸的是,我没有本地数据(在我的应用程序中,它是通过REST获得的),因此您实际上不能单击“节点编辑”操作,这是一个失败的操作。但至少你能看到我所有的代码。模板是预编译的,我希望这不是问题。另外,没有CSS,所以它很难看。你能把它简化成一个仍然失败的小例子,然后(如果你愿意)把它发布到像JSFIDLE这样的地方吗?我怀疑真正的问题可能在您的代码中的其他地方。错误显示为EditController被定义为
Node.EditController
App.Node.EditController
。因此,如果不是这样,您需要显示更多的代码。@gonvaled,您可以通过从chrome开发工具启动的应用程序的App.Router.Router.recognizer.names来验证ember对您的路由的了解,希望它有助于查看名称空间,当一个网页中有多个ember应用程序时,名称空间最有用。Ember需要模板位于“Ember”命名空间中,而不是应用程序的命名空间“app”中。我认为,在Ember名称空间下使用编译的模板代码可以解决这个问题,但可能还有更多问题,我已经创建了一个jsbin:。所有我的模板/控制器/模型/。。。有。我还必须嵌入余烬数据,因为CDN版本与余烬的CDN版本不兼容(余烬数据仍然不稳定)。不幸的是,我没有本地数据(在我的应用程序中,它是通过REST获得的),因此您实际上不能单击“节点编辑”操作,这是一个失败的操作。但至少你能看到我所有的代码。模板是预编译的,我希望这不是问题。而且,没有CSS,所以很难看。