Как я могу смоделировать объект, который имеет простой массив строк с данными ember? - PullRequest
0 голосов
/ 08 мая 2019

Как я могу смоделировать объект, который имеет простой массив строк? Если я сделаю следующее, он покажет мне электронные письма, но при изменении их значения они не будут обновлены.

Сервер отправляет / получает следующие данные:

"data":
[
    {
        "attributes" : {
            "id":1,
            "name":"Jhon",
            "emails":["jhon@gmail.com","jhon@other.com"]},
            "relationships": (,..}
        }
    }

    ...

Модель:

export default Model.extend({
  id: attr('string'),
  name: attr('string'),
  emails: attr()
})

Шаблон:

{{#each model.emails as |email|}}
    <input type="text" value={{email}}>
{{/each}}

Ответы [ 2 ]

1 голос
/ 13 мая 2019

, так как электронная почта - это список в вашем вышеупомянутом json, так что лучше создать свой объект с отношением один ко многим, как показано ниже: - здесь есть 2 объекта 1] сотрудник 2] emailList

app/models/employee.js


import DS from 'ember-data';
export default Model.extend({
 id: DS.attr('string'),
 name: DS.attr('string'),
 emails: DS.hasMany('email-list'),
})

app/models/email-list.js

import DS from 'ember-data';
export default Model.extend({
 email: DS.attr('string'),
 employee: DS.belongsTo('employee')
})

0 голосов
/ 09 мая 2019

Этого будет достаточно:

export default Model.extend({
  id: attr('string'),
  name: attr('string'),
  emails: attr()
})
...