Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
如何在Ember.js中使用嵌套路由_Ember.js_Ember Cli - Fatal编程技术网

如何在Ember.js中使用嵌套路由

如何在Ember.js中使用嵌套路由,ember.js,ember-cli,Ember.js,Ember Cli,我是新加入Ember.js的,我坚持使用嵌套路由,我需要帮助 这就是我想要实现的目标: 我想这就是所谓的主-细节页面 更系统地说,它看起来像这样: {{#each item in model}} {{#link-to 'users.index.show' item.id}} {{item.firstName}} {{item.lastName}}{{/link-to}} {{/each}} export default Ember.Route.extend({ renderTempl

我是新加入Ember.js的,我坚持使用嵌套路由,我需要帮助

这就是我想要实现的目标:

我想这就是所谓的主-细节页面

更系统地说,它看起来像这样:

{{#each item in model}}
  {{#link-to 'users.index.show' item.id}} {{item.firstName}} {{item.lastName}}{{/link-to}}
{{/each}}
export default Ember.Route.extend({
  renderTemplate: function() {
    this.render({
      outlet: 'detail'
    });
  },
  model: function(params) {
    return this.store.find('user', params.id);
  } 
});

用户索引路由显示人员列表。 用户ShowRoute显示特定人员的信息

以下是我的路线:

Router.map(function() {
  this.route('users', { path: '/users'}, function() {
    this.route('index', { path: ''}, function() {
      this.route('show', { path: '/:id' });
    });
  });
});

UserIndex模板如下所示:

{{#each item in model}}
  {{#link-to 'users.index.show' item.id}} {{item.firstName}} {{item.lastName}}{{/link-to}}
{{/each}}
export default Ember.Route.extend({
  renderTemplate: function() {
    this.render({
      outlet: 'detail'
    });
  },
  model: function(params) {
    return this.store.find('user', params.id);
  } 
});
例如,当我尝试像“”这样的URL时,根据调试器,我能够访问控制器“users.index.show”(所需的一个)

UserShowRoute的路由如下所示:

{{#each item in model}}
  {{#link-to 'users.index.show' item.id}} {{item.firstName}} {{item.lastName}}{{/link-to}}
{{/each}}
export default Ember.Route.extend({
  renderTemplate: function() {
    this.render({
      outlet: 'detail'
    });
  },
  model: function(params) {
    return this.store.find('user', params.id);
  } 
});
我使用的是ember cli 1.13.8

我希望我的解释对你有意义。
提前谢谢。

好的,我已经更新了你的代码。主要是路由本身的逻辑。此外,each循环的使用方式也不推荐

路由器.js

路由/用户/索引

模板/用户/索引

routes/users/view.js

模板/用户/view.hbs


好的,我已经更新了你的代码。主要是路由本身的逻辑。此外,each循环的使用方式也不推荐

路由器.js

路由/用户/索引

模板/用户/索引

routes/users/view.js

模板/用户/view.hbs



我找不到这个问题。您提供的代码看起来很好。如果它不起作用,你可以发布吗stacktrace@kristjanreinhold但是,我什么都没有error@kristjanreinhold当我将ENV.APP.LOG_TRANSITION设置为true时,它会显示'Transitioned to'users.index.show'@kristjanreinhold,我在UsersShowRoute上的模型钩子中添加了'console.LOG',并打印到控制台。看起来模板渲染有问题。@kristjanreinhold我在github上进行了回购,以防我没有提供足够的信息而找不到问题。您提供的代码看起来很好。如果它不起作用,你可以发布吗stacktrace@kristjanreinhold但是,我什么都没有error@kristjanreinhold当我将ENV.APP.LOG_TRANSITION设置为true时,它会显示'Transitioned to'users.index.show'@kristjanreinhold,我在UsersShowRoute上的模型钩子中添加了'console.LOG',并打印到控制台。看起来模板渲染有问题。@kristjanreinhold我在github上进行了回购,以防我没有提供足够的信息。我尝试了你给我的内容,但最终得到了
无法识别的错误:/users
result@NikitaLupareverrro在哪条路线上抛出?@我犯了一个错误,我使用了旧的URL,现在我已经到达视图的URL
http://localhost:4200/users/view/2
。调试器显示当前路由为
用户。查看
,但页面仍为空empty@NikitaLuparev . 将此代码行添加到详细视图管线。。。。afterModel:function(model,transition){}并添加一个调试器。模型返回的是什么?+我尝试了你给我的东西,结果得到了
无法识别的错误:/users
result@NikitaLupareverrro是在哪条路线上抛出的?@我犯了一个错误,我使用了旧的URL,现在我已到达view的URL
http://localhost:4200/users/view/2
。调试器显示当前路由为
用户。查看
,但页面仍为空empty@NikitaLuparev . 将此代码行添加到详细视图管线。。。。afterModel:函数(模型,转换){}并添加调试器。模型返回什么+
{{model.person.firstName}}

  ---- content ---