Closed generalov closed 10 years ago
Да, кстати на https://github.com/mikeric/rivets/wiki/Adapters указан какой-то левый форк с затертой историей, по всем признакам сделанный на основе твоего кода.
Спасибо огромное! Мы завфизились на старой версии риветса поэтому я не обновлял проект. Были ли какие-то сложности во время переезда?
раньше нужно было писать data-rv-...="model.attr" -- теперь rv-...="model:attr" и наоборот, где было data-rv-...="obj:prop" теперь -- rv-...="obj.prop"
короче, rivets теперь сам использует точку в качестве разделителя, поэтому синтаксис для доступа к атрибутам бекбоновских моделей и обычным свойствам джаваскриптовых объектов поменялся на противоположный.
еще неприятности возникли с биндингами вида rv-on-*="obj.method", т.к. раньше в обработчике можно было написать data-rv-on-click="this.чегоТоТам", имя ввиду что this при вызове будет obj и все работало.
теперь в роли this при вызове хендлера выступает dom-элемент, на котором случилось событие. поэтому если нужен другой this, методы нужно "биндить" к объекту заранее. проще всего в initialize() воспользоваться _.bindAll в самом rivets на этот случай прелагают заманкипатчить функцию вызова хендлера как нужно (через конфигурятор), но я не стал это делать, т.к. тогда поведение начинает расходиться с документацией. а у меня основная цель была сделать так, чтобы поведение и документация начали совпадать иначе какой-то кошмар :)
шаблоны обовил тупо регулярками. со вьхами, где названия свойств строились динамически, пришлось разбираться лапками. к счастью их оказалось чуть.
эксперимент завершился 3 часа тому назад. на первый взгляд ничего не упало, но о каких-то глобальных последствиях, думаю, пока судить рано.
мне сейчас интересно, что такого полезного добавили в альтернативном форке, чего нет в твоем? смотрую на diff исходников, но сути содеянного не отражаю.
Вт. 10 дек. 2013 00:34:27, Mikhail Davydov писал:
Спасибо огромное! Мы завфизились на старой версии риветса поэтому я не обновлял проект. Были ли какие-то сложности во время переезда?
— Reply to this email directly or view it on GitHub https://github.com/azproduction/rivets-backbone-adapter/pull/1#issuecomment-30158605.
Спасибо за рассказ. Мы так же попробуем переехать.
мне сейчас интересно, что такого полезного добавили в альтернативном форке, чего нет в твоем?
С виду копипаст. Напишу этому товарищу.
Changes:
model:attribute
notation instead ofmodel.attribute
- last is consumed by upstream to resolve object properties. Therefore you should to replacecollection:cid
bindings withcollection.cid
to. ^)on-*
event handlers (which are inwoked in the context of <HTML*Element> now).