Допустим, у меня есть этот объект:Создание прототипов для подобъектов, JavaScript
var order = {
customer: 'Joe',
items: [
{
id: 123,
title: 'VCR',
}
]
};
Я хочу создать логику и порядок и элементы объекта. Поэтому мне нужно написать класс, который создает экземпляр другого класса.
Класс заказа:
function Order(customer, items){
this.customer = customer;
this.items = items;
}
Order.prototype = {
getCustomer: function(){
console.log(this.customer);
}
};
Деталь Класс:
Экземпляр:
var myOrder = new Order(order.customer, order.items);
Теперь это то, что я хочу сделать:
myOrder.items[0].getItemId() //123
myOrder.items[0].getCustomer() //Joe
Как это сделать? Мне нужно как-то связать классы и добавить прототип к объектам объекта.
Jsbin: https://jsbin.com/nofofifuka/edit?html,js,console
Добавить свойство «заказать» к элементу и передать объект заказа при его создании. – Pointy
Есть ли причина, почему у вас есть класс 'Order' с одним элементом, который является объектом' order'? Почему бы не сделать ваши объекты 'Order' вместо полей' customer' и 'items'? То есть, сделайте 'Order' модель, которая представляет те же данные, что и ваш объект, вместо оболочки. – apsillers
@ capsillers Да, вы правы. Починил это. – Per