gpt4 book ai didi

ember.js - 在某些情况下,带有 args 的 Emberjs 路由会失败

转载 作者:行者123 更新时间:2023-12-02 06:01:42 26 4
gpt4 key购买 nike

在某些情况下,我遇到了路由 url 的问题。这是我的路由器:

contacts: Em.Route.extend({
route: '/contacts',

index: Em.Route.extend({
route: '/',
connectOutlets: function(router, context) {
App.contactsController.populate()
var appController = router.get('applicationController');
appController.connectOutlet('contactsList');
}
}),

show: Em.Route.extend({
route: '/:contactid',
connectOutlets: function(router, context) {
alert('show contact');
}
}),

doShowContact: function(router, event){
router.transitionTo('show', {contactid: event.context.id});
}
}),

当我进入 doShowContact 内部时,如果我指定 '联系方式' 作为上下文和 '/:contactid' 作为“show”内的路线,我会得到例如 '/contacts/3' 在浏览器 url 中,一切正常。

但是在 doShowContact 中,如果我指定 'contact_id' 而不是 '联系方式' 作为上下文和 '/:contact_id' 而不是 '/:contactid' 作为路线。我会得到 '/联系人/未定义' 在浏览器网址中。

有没有办法解释它?谢谢!

最佳答案

您应该简单地传递联系人实例,而不是使用 contactid 伪造对象。属性(property):

doShowContact: function(router, event) {
var contact = event.context;
router.transitionTo('show', contact);
}

您还应该指定 modelClass您 route 的属性(property):

show: Em.Route.extend({
route: '/:contact_id',
modelClass: App.Contact,

// ...
})

关于ember.js - 在某些情况下,带有 args 的 Emberjs 路由会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11684615/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com