作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Ember、Ember-data 和 Rails。
当我在 Handlebars View 中创建链接时,它链接到/clinic/undefined。我试图让 View 代码创建一个看起来像这样的链接: http://localhost:3000/#/clinic/1
但看起来像: http://localhost: 3000/#/clinic/未定义
。
有什么想法以及如何解决它吗?
查看:
<a {{action showClinic content.clinic href=true}}>Click here</a>
路由器:
root: Ember.Route.extend({
showClinic: Ember.Route.transitionTo('clinic'),
showDoctor: Ember.Route.transitionTo('doctor'),
index: Ember.Route.extend({
route: '/',
connectOutlets: function(router) {
router.get('applicationController').connectOutlet('main');
}
}),
clinic: Ember.Route.extend({
route: '/clinic/:clinic_id',
connectOutlets: function(router, clinic) {
router.get('applicationController').connectOutlet('clinic', clinic);
router.get('clinicController').connectOutlet('doctors', clinic.get('doctors'));
}
}),
doctor: Ember.Route.extend({
route: '/doctor/:doctor_id',
connectOutlets: function(router, doctor) {
router.get('applicationController').connectOutlet('doctor', doctor);
}
})
})
型号:
App.Doctor = DS.Model.extend({
name: DS.attr('string'),
clinic: DS.belongsTo('App.Clinic')
});
JSON:
{
doctor: {
id: 1,
clinic_id: 1,
name: "Dr. Who"
}
}
最佳答案
这也发生在我身上,可能是与路由器中的序列化和反序列化相关的问题。当您反序列化 id 时,诊所的数据尚未加载,并且您会得到 id 属性的返回值 undefined。解决方案是在每个状态的反序列化方法中实现 Promise 模式。
您可以查看以下链接以获取更多信息: https://github.com/emberjs/ember.js/issues/1268#issuecomment-7893886 - promise 模式的实现。
Emberjs async routing - 了解更多信息和另一种选择
关于javascript - Ember Action - {{action showClinic Clinic}} 生成 'undefined' 的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13146917/
我正在使用 Ember、Ember-data 和 Rails。 当我在 Handlebars View 中创建链接时,它链接到/clinic/undefined。我试图让 View 代码创建一个看起来
我是一名优秀的程序员,十分优秀!