2016-09-04 1 views
-2

В Ember 2.7 предположим, что у вас есть класс Person, который имеет модель Address (предположим, что city:DS.attr() - единственный атрибут).Наследование модели Ember 2.7 - как получить доступ к данным в шаблоне, который исходит из модели, связанной с родителем?

приложение/модели/person.js

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    firstName: DS.attr(), 
    lastName: DS.attr(), 
    fullName: Ember.computed('firstName', 'lastName', function() { 
    return `${this.get('lastName')}, ${this.get('firstName')}`; 
}); 

An Employee наследует от Person и добавляет поле статуса (например, на работу, на пенсии, уволили и т.д.)

приложение/модели/employee.js

import DS from 'ember-data'; 

import Person from '../models/person'; 

export default Person.extend({ 
    status: DS.attr(), 
    statusCode: DS.attr(), 
}); 

В качестве компонента, который отображает Employees, как это:

приложение/шаблоны/Компоненты/работник-list.hbs

{{#each employees as |employee|}} 
<div> 
    <h2>{{employee.fullName}}</h2> 
    <p>Home Base : [city]</p> 
    <p>Status : {{employee.status}}</p> 
</div> 
{{/each}} 

Каков путь EmberJS получить по адресу этого Employee (то есть. это 'Person'), чтобы шаблон мог показать город этого человека из модели Адрес?

ответ

0

{{employee.address.city}} является рули код, который нужно:

{{#each employees as |employee|}} 
<div> 
    <h2>{{employee.fullName}}</h2> 
    <p>Home Base : {{employee.address.city}}</p> 
    <p>Status : {{employee.status}}</p> 
</div> 
{{/each}} 
Смежные вопросы