Я новичок в backboneJS. Я загрузил код с сайта www.todomvc.com. У меня есть кнопка, которая запускает функцию moveUp ниже, которая будет перемещать модель «todo» на один шаг выше i.e. Приоритизировать, она упорядочивает коллекцию по атрибуту «order». Я хотел, чтобы я мог поменять атрибут «порядок» обеих моделей. Это то, что я думал, будет работать ....Невозможно поменять атрибуты коллекции модели?
moveUp: function(){
var index = this.model.collection.indexOf(this.model);
var nextModel = this.model.collection.at(index+1);
var order1 = this.model.attributes.order;
var order2 = nextModel.attributes.order;
this.model.set('order', order2);
this.model.collection.models[index + 1].set('order', order1);
}
Но это не сработает, атрибут 'order' остается таким же до и после кода. Вещи, которые я попытался это:
model.set({'order',order1});
model.set('order',order1);
var order = _.clone(model.get('order'));
model.set(order, order1);
var map = {};
map['order'] = value;
this.model.set(map);
Код общий here. Если кто-то может указать, где я ошибаюсь. Также я где-то читал, что это не вызовет «изменения». Помощь будет высоко оценена.
Я обновил этот вопрос. Пожалуйста, посмотрите –
Он должен работать, взгляните на [эту скрипку] (http://jsfiddle.net/f18c7Ltn/1/). Вы уверены, что 'model' и' nextModel' - это то, что вы ожидаете? Вы проверили атрибут заказа на обеих моделях в конце метода moveUp? –
Заказ остался неизменным после вашей скрипки –