我正在使用最新的ember-cli版本2.12.1和ember。
我已将路线配置为:
Router.map(function() {
this.route('companies', function() {
this.route('companydetail', {
path: '/:company_id'
}, function() {
this.route('employees', function() {
this.route('employeedetail', {
path: '/:employee_id'
});
});
});
});
});
模板位于
/templates/companies/index.hbs
/templates/companies/companydetail.hbs
/templates/companies/companydetail/employees/employees/employeedetail.hbs
我可以链接到路线
{{#link-to "companies.companydetail.employees.employeedetail" model employee}}Edit{{/link-to}}
这是有效的。但是模板没有渲染。 而是使用companydetail.hbs。我改变了 /routes/companies/companydetail/employees/employeedetail.js呈现正确的模板:
renderTemplate: function(params) {
this.render('companies/companydetail/employees/employeedetail', {
into: 'application'
});
}
这是有效的,但是:没有完成对模型的调用(对服务器的请求)。我可以尝试手动拨打电话,但我开始相信,我在路线上做错了。
有什么建议吗?
更新: 网址为/ companies / 1 / employees / 2。当我点击链接时ember构造此URL时,不会执行对模型的请求。当我刷新浏览器页面时,会触发请求。这是一种典型的体验,因为当url没有改变时,不会触发模型调用。但奇怪的是,它改变了,仍然没有模型请求......
提前致谢, 西拉斯
答案 0 :(得分:0)
使用companydetail.hbs
是正确的。 employeedetail.hbs
应该呈现在{{outlet}}
内的companydetail.hbs
中。确保{{outlet}}
内有companydetail.hbs
。