ember.js - In Ember, why does my template want {{model.key}}, not just {{key}}? -


i trying out ember, , finding discrepancy docs. used ember cli ember generate template index , ember generate route index. set trivial model in index.js:

model: function () {     return {name: "joe"}; } 

from reading of docs , examples, expected able access value {{name}} in index.hbs template, instead value {{model.name}}. why?

before ember 1.11 use objectcontroller, works proxy corresponding route model, , write {{name}} model.name.

objectcontroller deprecated in ember 1.11, details here: http://emberjs.com/deprecations/v1.x/#toc_objectcontroller. in last ember versions should use controller class instead objectcontroller, doesn't work proxy of model. think of of ember object model property corresponding route. {{name}} means property of controller, {{model.name}} - property of model.

for example:

//route model: function () {   return {name: "joe"}; }   //controller  import ember 'ember';  export default ember.controller.extend({    name: 'marry'  });  //template {{name}} //=> marry {{model.name}} //=> joe 

Comments