Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在使用pods的Ember.js应用程序中,在何处放置嵌套路由的模板?_Javascript_Ember.js_Handlebars.js_Ember Cli - Fatal编程技术网

Javascript 在使用pods的Ember.js应用程序中,在何处放置嵌套路由的模板?

Javascript 在使用pods的Ember.js应用程序中,在何处放置嵌套路由的模板?,javascript,ember.js,handlebars.js,ember-cli,Javascript,Ember.js,Handlebars.js,Ember Cli,在ember cli中使用pod结构时,嵌套路由的模板文件应放置在何处 这是我目前的情况 访问/foo作品 预期和实际结果:app/foo/template.hbs得到渲染 访问/foo/bar不起作用,我得到“错误:断言失败:URL'/foo/aa'与应用程序中的任何路由都不匹配” 预期结果:app/foo/bar/template.hbs得到渲染 实际结果:“错误:断言失败:URL'/foo/bar'与应用程序中的任何路由都不匹配” 路由器: Router.map(functio

在ember cli中使用pod结构时,嵌套路由的模板文件应放置在何处

这是我目前的情况

  • 访问
    /foo
    作品
    • 预期和实际结果:
      app/foo/template.hbs
      得到渲染
  • 访问
    /foo/bar
    不起作用,我得到“错误:断言失败:URL'/foo/aa'与应用程序中的任何路由都不匹配”
    • 预期结果:
      app/foo/bar/template.hbs
      得到渲染
    • 实际结果:“错误:断言失败:URL'/foo/bar'与应用程序中的任何路由都不匹配”
路由器:

Router.map(function() {
    this.resource('foo', function() {
        this.resource('foo.bar', function() {
        });
    ));
    /* ... */
});
文件夹结构:

/app/pods
    /foo
        controller.js
        route.js
        template.hbs
        /bar
            controller.js
            route.js
            template.hbs

我应该以不同的方式定义路由还是以不同的方式命名文件?

在文档页面中,它会显示“app/templates/Your handlebar templates。这些模板被编译为templates.js。这些模板的名称与其文件名相同,但没有扩展名(即templates/foo/bar.hbs->foo/bar)。”

实际结果:“错误:断言失败:URL'/foo/aa'与应用程序中的任何路由都不匹配”

它正在搜索/foo/bar/bar.hbs,但是您的案例是/foo/bar/template.hbs

命名约定是ember.js的关键角色

路线

Router.map(function() {
    this.resource('foo', function() {
        this.resource('bar', function() { // 'bar' route nested in 'foo' route

        });  
    });
});

对不起,我上面列出的代码示例,我使用了
aa
而不是
bar
——我的错误。我对它进行了编辑,以反映我的意思!