bem-mvc icon indicating copy to clipboard operation
bem-mvc copied to clipboard

isEmpty()

Open mightyaleksey opened this issue 9 years ago • 3 comments

Привет, хочу понять, почему isEmpty делает еще проверку на дефолтное значение модели? https://github.com/bem/bem-mvc/blob/master/common.blocks/i-model/__field/i-model__field.js#L227-L229

На деле, я хочу сбросить значение модели, но не получается, так как текущее значение соответствует дефолтному и isEqual возвращает всегда true.

mightyaleksey avatar Oct 19 '15 16:10 mightyaleksey

кажется логика такова: мы создаём пустую модель, и после этого для каждого поля isEmpty должно вернуть true соответственно при наличии дефолтов в декларации появляется эта дополнительная проверка в целом да, ситуация получается конфликтная

collapsus avatar Oct 20 '15 08:10 collapsus

Спасибо. Я чуть позже понял как это работает. Вначале у меня вызывало некоторое удивление, что поле модели при сбросе принимало значение по-умолчанию и при этом считалось не измененным.

Леша, а скажи пожалуйста, как вы работаете с инпутами? Меня интересует как вы передаете начальные состояния для контролов? От куда-то извне или используете какие-то правила на этапе декларации модели?

mightyaleksey avatar Oct 21 '15 08:10 mightyaleksey

это некоторая боль, пока ещё не решённая, на этапе шаблонизации дописываем в value, и пишем биндинги, т. е. по сути копипастим

collapsus avatar Oct 21 '15 15:10 collapsus