0

我有一个我试图从外部 JSON 文件中提取的链接表。一些简单的 HTML 和 Handlebars:

<table class="table">
  <thead>
    <tr><th>Links</th></tr>
  </thead>
  {{#each model}}
  <tr><td>
    <a target="_blank" {{bindAttr href="url"}}>{{title}}</a>
  </td></tr>
  {{/each}}
</table>

从我的 app.js 中,我尝试将 JSON 异步加载到我的 Fixture Adapter 中:

var externalLinksJSON = [{
    id: 0
}];

$.getJSON('externalLinks.json', function(data) {
    externalLinksJSON = data;
})
.fail(function() { console.error("There was an error loading externalLinks.json"); });

App.ExternalLink.FIXTURES = externalLinksJSON;

调试 JavaScript 显示该externalLinksJSON变量已成功更新,但 EmberJS 并未使用新获取的 JSON 更新 HTML。我试图避免用同步调用阻塞浏览器。EmberJS 中有没有办法绑定 Fixtures 以便在值更改时更新?

4

1 回答 1

1

我的印象是 Fixtures 适配器是用于在客户端的 javascript 中定义的静态测试数据,所以我担心它是否设计为在应用程序 js 加载后更新。你是否尝试过将 Fixture 数据放在客户端以查看是否是问题?

Ember 网站

Fixtures 是一种在将应用程序连接到长期持久性之前将样本数据放入应用程序的方法。

也许尝试使用 Ember Data 的 REST 适配器,或者在没有 Ember Data的情况下处理 API 调用。

于 2013-07-23T23:44:35.257 回答