ns.Model: getData() и модификация данных #176

Open
chestozo opened this Issue Nov 13, 2013 · 4 comments

Projects

None yet

2 participants

@chestozo
Member

Вот, к примеру, чего вы ожидаете, когда выполнится такой код?

var m = ns.Model.get('model', params);
var data = m.getData();

data.dirty = true;
alert(m.getData().dirty);

Сейчас любопытный зритель увидит true.
Кажется, это bad pattern (мы ведь сделали даже метод ns.Model.prototype.set() для модификации данных, а тут просто так данные можно поменять.

Что думаете? Будем фиксить?

@edoroshenko
Contributor

Ты хочешь, чтобы getData всегда возвращал копию данных?

@chestozo
Member

Думаю, это единственный вариант защиты.

@edoroshenko
Contributor

Да, по-другому не защитишься.
Меня тут только беспокоит вто что: прикинь у тебя перед рендерингом будет клонироваться немерено данных. Как это по производительности, не сделает из updater'а медленную черепаху?
Ну и это, точно надо защищать? Я пока не сталкивался с такими проблемами. А ты?

@chestozo
Member

Да, скорость может пострадать это правда.
Я не сталкивался напрямую. Но решил проверить, что будет в рамках #177

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment