2016-04-27 79 views
0

所以我周围有一看,真的不能找到一个坚实的答案。数据不显示 - 灰烬JS - REST API

我有页面模式,我有一个路线从API获取数据和数据来源,虽然成灰烬检查,但是当我试图把它在页面上它并不显示。

https://github.com/stagfoo/ember-wip/blob/master/app/templates/page.hbs

我试过的{{title}},{{title}}的{{page.title}}没有任何显示。

我读过,我需要一个控制器,但我看到没有控制器的例子做同样的事情。

我错过了什么?

https://github.com/stagfoo/ember-wip

回答

1

你应该尝试

{{model.title}} 

另外,我不明白你正在尝试在做你的 '然后(...)' 在https://github.com/stagfoo/ember-wip/blob/master/app/routes/page.js

事实上,灰烬路线通过公开其模型钩返回的值模型模板。当调用一个API时,这个值是一个Promise,将在服务器响应后解析。 Ember自己处理这个Promise,模板将被动态更新。

所以,你不必叫自己“那么”,除非你必须设置其他数据和需要等待无极分辨率。而且,在这种特殊情况下,你的'then'实现除了访问一个值外什么也不做。

我想念什么?

+0

使用'{{model.title}}'将使意义,因为在主页上我有'{{#each模型|首页|}}'然后'{{page.title}}'但是我试了一下并没有奏效。它真的很奇怪。感谢您解释“那么”,我认为它与您如何使用'renderTemplate()'类似,但目前并不重要。我删除了“then”,并删除了'renderTemplate()'来简化。 [这是我已经尝试](https://github.com/stagfoo/ember-wip/blob/master/app/templates/page.hbs)循环工作,但没有其他:( – user1584760

+0

是您的服务器响应非空和有效的JSON?你在控制台中看到错误吗? – bmeurant

+0

我认为你的模板是可以的,但是你的请求不是,首先,你不应该查询,查询是为多个记录使用queryRecord来记录单个记录然后你使用filter: {name:params.slug}。这将导致这样的请求:http://you.host/pages?filter[name]=slug这显然不是你的API。试试这个.store.queryRecord('page',{ slug:params.slug} – bmeurant