Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.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 Ember.js 2,在一级路线中使用多个动态段过渡_Javascript_Ember.js_Ember Data_Transition_Ember Cli - Fatal编程技术网

Javascript Ember.js 2,在一级路线中使用多个动态段过渡

Javascript Ember.js 2,在一级路线中使用多个动态段过渡,javascript,ember.js,ember-data,transition,ember-cli,Javascript,Ember.js,Ember Data,Transition,Ember Cli,我使用的是Ember>=2.13.x 我需要使用路线动作中的转换到,以进入另一条路线 以下是演示余烬旋转: 我有这样的情况: router.json: routes/application.js: routes/post.js: 模板/application.hbs: GoToPost与动作(转换到) 因此,当我单击时,一切都按预期进行 我在应用程序操作中获取模型,然后使用this.transitiono('post',post) 在我的post路径中,我有serialize(),我现在读到,

我使用的是Ember>=2.13.x

我需要使用路线动作中的
转换到
,以进入另一条路线

以下是演示余烬旋转:

我有这样的情况:

router.json:

routes/application.js:

routes/post.js:

模板/application.hbs:

GoToPost与动作(转换到)
因此,当我单击时,一切都按预期进行

我在应用程序操作中获取模型,然后使用
this.transitiono('post',post)

在我的
post
路径中,我有
serialize()
,我现在读到,当存在动态段时,它用于URL合成

我的问题:我用得对吗?

为什么我不能这样使用:
this.transitiono('post',post.category.id,post.id)并让
model()
post
路由中获取模型(从数据库或存储)

我还尝试使用
this.transitiono('post',{category\u id:post.category.id,post\u id:post.id})
但是显然,
post
路由
model()
没有加载任何内容,因为它确实认为对象已经存在


因此,我只能用
serialize()
方法解决这个问题这是正确的方法吗?

您不需要重写序列化钩子,默认情况下,您将在路由模型钩子参数中获得动态段和查询参数

model({post_id,category_id}) {
 return this.store.findRecord('post', post_id);
}
这是你的电话号码

我更喜欢添加相应的前缀,比如
post
,这样URL就很容易区分了

如果希望
transitionTo
调用模型钩子,则在参数中提供对象或模型始终提供所需的参数可能是字符串或数字。
请参阅:

您不需要重写序列化钩子,默认情况下,您将在路由模型钩子参数中获得动态段和查询参数

model({post_id,category_id}) {
 return this.store.findRecord('post', post_id);
}
这是你的电话号码

我更喜欢添加相应的前缀,比如
post
,这样URL就很容易区分了

如果希望
transitionTo
调用模型钩子,则在参数中提供对象或模型始终提供所需的参数可能是字符串或数字。
参考:

你的分类路线中有什么?重要吗?你的分类路线中有什么?重要吗?在你的游戏中,你正在使用
这个。过渡到('post',1,2)
。我改为使用
this.transitiono('post',post.get('category.id'),post.id)
。我不知道为什么,但昨天在我的项目中,它不起作用。非常感谢。在你的游戏中,你正在使用
这个。转换到('post',1,2)
。我改为使用
this.transitiono('post',post.get('category.id'),post.id)
。我不知道为什么,但昨天在我的项目中,它不起作用。谢谢。
model(params) {
    return this.store.findRecord('post', params.id);
},

serialize(model) {
    console.log('model in serialize():', model);
    return { category_id: model.get('category.id'), post_id: model.id };
}
<button type="button" {{action 'goToPost'}}>GoToPost with action (transitionTo)</button>
model({post_id,category_id}) {
 return this.store.findRecord('post', post_id);
}
this.route('category', {path: 'category/:category_id'});
this.route('post', {path: 'post/:category_id/:post_id'});