如何在 Ember JS 中获取 REST Api?

How to get REST Api in Ember JS?

我使用与 REST Api 一起工作的 Ember 样板文件。

数据应从 Laravel 后端接收并在 Ember 模板中呈现。我将不胜感激。

这是索引 (/) 路由的响应:

{
    "responce":[
        {
            "id":0,
            "title":"main",
            "content": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Vitae, aliquam."
        },
        {
            "id":1,
            "name":"about",
            "content": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Provident, obcaecati? Accusantium ex dolorum voluptate deleniti?"
        },
        {
            "id":2,
            "name":"contacts",
            "content": "Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptatibus exercitationem molestias rem."
        }
    ]
}

我想应该有某种循环来处理接收到的数据并呈现它。结果应该是这样的:

<h3>main</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Vitae, aliquam.</p>
<h3>about</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Provident, obcaecati? Accusantium ex dolorum voluptate deleniti?</p>
<h3>contacts</h3>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptates voluptatibus exercitationem molestias rem.</p> 

提前致谢!

这里有很多部分要放在一起,但让我尝试布置一下大概的路径。您的 Laravel API 提供需要由您的 ember 应用程序读取的结构化数据。首先设置 ember 路由模型挂钩以读取该数据。作为第一步,您需要在 index 路线中检查 the guide for a lot more information, but I would start with this

import Route from '@ember/routing/route';
import fetch from 'fetch';

export default Route.extend({
  model() {
    //this is where your ember app gets data from your API
    return fetch('YOUR-LARAVAL-API.com/index').then(response => {
      console.log(data);
      const data = response.json();
      return data.responce;
    });
  }
});

这应该使数据在您的 index.hbh 模板中可用,这样您就可以像 model 一样访问它:

<pre>
{{#each this.model as |post|}}
  <h3>{{post.title}}</h3>
  <p>{{post.content}}</p>
{{/each}}
</pre>