0

我下载了ember 入门工具包,并想展示一个简单的 REST API 数据以了解 Ember 的工作原理。

从视频和教程中我发现有一个model钩子可以用来注入数据。

所以我做了以下事情:

App.Router = Ember.Router.extend({
  model: function ({
    return $.getJSON("https://api.foursquare.com/v2/users/self?oauth_token=TOKENHERE&v=20130723");
  }),
  root: Ember.Route.extend({
    index: Ember.Route.extend({
      route: '/'
    })
  })
})

并在我的index.html

  <script type="text/x-handlebars" data-template-name="application">
      {{title}}
  </script>

然而,这并没有奏效。当我去那里时,index.html我什么也没看到。此外,在 Inspect Element 的 Network 选项卡下,我没有看到对 REST API 发出的任何网络请求。

我究竟做错了什么?此外,出于示例目的,我只想拥有一个data.json包含一些 json 数据的 json 文件。但是,我读到 Ember 不支持读取文件,这就是为什么我尝试使用foursquare 提供的示例rest api。

有没有办法使用 ember 读取 json 文件?我只是在没有服务器的浏览器上运行它。

4

1 回答 1

1

看起来它应该工作。这是一个使用不同 API 但使用相同结构的示例:

JavaScript:

App = Ember.Application.create();

App.Router.map(function() {
  // put your routes here
});

App.IndexRoute = Ember.Route.extend({
  model: function() {
    return $.getJSON("https://api.github.com/repos/emberjs/ember.js/stats/contributors");
  }
});

模板:

  <script type="text/x-handlebars">
    <h2>Welcome to Ember.js</h2>

    {{outlet}}
  </script>

  <script type="text/x-handlebars" data-template-name="index">
  Ember.js repository contributors
    <ul>
    {{#each user in controller}}
      <li>{{user.author.login}}</li>
    {{/each}}
  </ul>
  </script>

JSBin 示例

于 2013-07-23T17:28:00.700 回答