Задать вопрос
Imbolc
@Imbolc

Знаете ли вы js библиотеку с two way binding, хранящую все данные в html?

Хотелось бы как-то декларативно описать модель, с указанием типов и получить объект с геттерами / сеттерами, фильтрами и т.п. Примерно то, что делают angular или knockout. Только чтобы все данные либа хранила прямо в html. Таким образом ей можно было бы подсунуть, допустим хтмл сгенерённый на сервере. Или другие библиотеки могли бы менять html, а эта библиотека работала бы с ним так же как если бы изменения сделаны были через неё.
  • Вопрос задан
  • 2486 просмотров
Подписаться 2 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
1) это будет работать крайне медленно
2) проще и лучше при иницаилизации делать запрос на сервер что бы забрать данные в JSON-формате.
3) это можно сделать с тем же angular.js через директивы типа ng-init, но смотри пункт 1
Ответ написан
@lega
Таким образом ей можно было бы подсунуть, допустим хтмл сгенерённый на сервере.
Идея интересная, можно использовать ng-init или сделать аналог, сделал пример на angular light
Likes: <span al-take-value="likeCount" al-text="likeCount">15</span>

До загрузки приложения отображает "Likes: 15", когда приложение загрузится, директива al-take-value возьмет значение элемента, когда с сервера будет прилетать информация, то текст будет обновляться с пом. директивы al-text, хотя для более сложных данных вариант с json + ng-init может быть удобнее.

Или другие библиотеки могли бы менять html, а эта библиотека работала бы с ним так же как если бы изменения сделаны были через неё.
Можно сделать спец. директивы для этого, но я думаю что это плохое решение, тем более оно не будет работать например с jquery компонентами такими как select2, там идет подмена элементов, есть реализации datepicker где нужно работать через js, и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
27 дек. 2024, в 08:26
1000 руб./за проект
27 дек. 2024, в 03:33
1500 руб./за проект
27 дек. 2024, в 02:41
50000 руб./за проект