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/