Ember 路由 - 动态分段 - 通过 <LinkTo> 传递模型
Ember Routing - Dynamic Segment - Passing model through <LinkTo>
我正在使用 Ember 3.18,但我遇到了动态分段问题。这是我的 router.js
Router.map(function() {
this.route('posts');
this.route('post' , {path:"/post/:post_id"});
});
当我尝试执行从 posts 路由(包含所有 posts)到 post/:post_id(显示详细信息)的转换时特定 post) 使用以下
<div>
{{#each this.data as |data|}}
<LinkTo @route="dashboard.inbox-mail" @model={{data.id}}>
<div class="card">
<div>
<p class="name">{{data.name}}</p>
</div>
<div>
<p class="title">{{data.title}}</p>
<p class="date">{{data.timestamp}}</p>
</div>
</div>
</LinkTo>
{{/each}}
</div>
它不执行到 post/:post_id 的转换。数据包含以下属性
id - 字符串
名称 - 字符串
标题 - 字符串
消息 - 字符串
时间戳 - 字符串
我的目标是将 post id 传递给 post/:post_id 并在 post/ 的模型挂钩中进行 API 调用:post_id.
我能够使用下面的代码执行转换,但缺点是没有调用 beforemodel 和 model 挂钩。将整个数据作为模型传递会导致不调用模型和 beforemodel
<div>
{{#each this.data as |data|}}
<LinkTo @route="dashboard.inbox-mail" @model={{data}}>
<div class="card">
<div>
<p class="name">{{data.name}}</p>
</div>
<div>
<p class="title">{{data.title}}</p>
<p class="date">{{data.timestamp}}</p>
</div>
</div>
</LinkTo>
{{/each}}
</div>
将this.data更改为
{{#each @model as |data|}}
这是一个与您相似的很好的例子:
https://emberigniter.com/getting-started-ember-octane-tutorial/
我正在使用 Ember 3.18,但我遇到了动态分段问题。这是我的 router.js
Router.map(function() {
this.route('posts');
this.route('post' , {path:"/post/:post_id"});
});
当我尝试执行从 posts 路由(包含所有 posts)到 post/:post_id(显示详细信息)的转换时特定 post) 使用以下
<div>
{{#each this.data as |data|}}
<LinkTo @route="dashboard.inbox-mail" @model={{data.id}}>
<div class="card">
<div>
<p class="name">{{data.name}}</p>
</div>
<div>
<p class="title">{{data.title}}</p>
<p class="date">{{data.timestamp}}</p>
</div>
</div>
</LinkTo>
{{/each}}
</div>
它不执行到 post/:post_id 的转换。数据包含以下属性
id - 字符串 名称 - 字符串 标题 - 字符串 消息 - 字符串 时间戳 - 字符串
我的目标是将 post id 传递给 post/:post_id 并在 post/ 的模型挂钩中进行 API 调用:post_id.
我能够使用下面的代码执行转换,但缺点是没有调用 beforemodel 和 model 挂钩。将整个数据作为模型传递会导致不调用模型和 beforemodel
<div>
{{#each this.data as |data|}}
<LinkTo @route="dashboard.inbox-mail" @model={{data}}>
<div class="card">
<div>
<p class="name">{{data.name}}</p>
</div>
<div>
<p class="title">{{data.title}}</p>
<p class="date">{{data.timestamp}}</p>
</div>
</div>
</LinkTo>
{{/each}}
</div>
将this.data更改为
{{#each @model as |data|}}
这是一个与您相似的很好的例子: https://emberigniter.com/getting-started-ember-octane-tutorial/