Добрый день!
Большое спасибо, за то что сделали интеграцию с vue.js.
В данном случае очень интересует двухсторонний датабиндинг.
Однако, все равно, как и в случае с angular придется писать все в виде директив, что не очень подходит.
Честно, читал справку и не раз, вроде как есть bind, dp, sync но не понятно. И непонятно, можно ли этими методами сделать что-то вообще. Хочется такой же простоты как у knokout.
Хочется, чтобы если я изменил какие-либо данные, то они обновились в других графических элементах, а не приходилось делать вручную.
Может можно повесить какого-нибудь слушателя, который ожидает какие-либо данные, и если на эти данные подписаны другие графические элементы, то он обновляет данные и в них? Однако беда, как он будет узнавать, когда данные надо отправлять? Надо в каждый графический элемент тогда вставлять в события, связанные с отправлением свою функцию, которая отвечает а отправку.
А вообще хочется такого: https://webix-hub.github.io/webix-vue/samples/03_form_controls.html
Но с использованием чистого webix
Чтобы можно было написать свойство v-model.string:‘cval’ и в зависимости от полученных данных - он сделал активной на ту или иную вкладку.
Для всех форм контролов двухсторонний биндинг включен из коробки
<webix-combo v-model="some">
В общем случае, для webix-ui надо прописывать обратный биндинг, но это неизбежно, так как неочевидно какие именно данные из сложного ui блока нужно вернуть назад
Хочется, чтобы если я изменил какие-либо данные, то они обновились в других графических элементах, а не приходилось делать вручную.
В самом вебиксе ( без vue ) можно связывать данные разных компонент так чтобы изменения в одном месте автоматически отражались во всех связанных компонента ( меняем данные в форме а они менются в связанных листах и селектах например ) Переключить таб в зависимости от загруженных данных возможно, хотя и не очень очевидно.
По поводу компонентов: тут не нравится то, что привязываться надо к определенной форме а не к какому-нибудь хранилищу. Как вы говорите - внешний объект.
По поводу синтаксиса: по идее да, но не понимаю что происходит при изменении.
В моем представлении так (через внешнюю функцию тогда можно использовать), а по хорошему, да как у вас.
var data = [
{
id: 'hello_message',
value: 'Hello World',
subcribers: {'template1', 'text1'}
},
]
test.bind(data);
//обновилось во всех подписчиках
test.set('hello_message', 'Привет мир!');
Притом такой способ, можно пряменить как мне кажется и сейчас, надо просто написать свой велосипед, где проверять subcribers, затем искать эти элементы, если они есть, то обновлять в них данные. Беда в том, что данные ведь не всегда такие простые, это могут быть и табличные данные. И в многих элементах оно ставится по своему. Если это шаблон, то setHtml, если text, то setValue, если таблица… и т.п.