EmberJS模板不是redering模型值

时间:2015-08-22 23:25:36

标签: javascript json rest ember.js

这是我的app / models / post.js(这是模型)

import DS from 'ember-data';

var attr = DS.attr;

export default DS.Model.extend({
  author: DS.belongsTo('author'),
  title: attr('string'),
  body: attr('string')
});

这是位于app / routes / post.js

的路线
import Ember from 'ember';

export default Ember.Route.extend({
});

这是处理它的模板app / templates / post.hbs

<h1>{{title}}</h1>
<h2>by {{author.name}}</h2>

<hr>
<div class = "body">
{{body}}
</div>

这是我的路由器。

Router.map(function() {
  this.route('about');
  this.resource('posts');
  this.resource('post',{ path: '/posts/:post_id'});
});

每当我访问localhost时:4200 / post / 1该视图不呈现任何内容,但每当我查看网络时它都会检索此json数据

{"post":{"id":1,"title":"How to win at life","body":"Body","author":1},"authors":[{"id":1,"name":"George","posts":[1,2]}]}

这是我的目录结构

enter image description here

每当我运行调试器并将鼠标悬停在页面上时,它会显示我有一个模型enter image description here

1 个答案:

答案 0 :(得分:2)

您需要在模板中使用model属性:

<h1>{{model.title}}</h1>
<h2>by {{model.author.name}}</h2>

<hr>
<div class = "body">
{{model.body}}
</div>

ObjectController现已弃用,因此model属性不再代理,您只能使用{{title}}代替{{model.title}}

this.resource()也是deprecated now