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

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

Хотелось бы как-то декларативно описать модель, с указанием типов и получить объект с геттерами / сеттерами, фильтрами и т.п. Примерно то, что делают angular или knockout. Только чтобы все данные либа хранила прямо в html. Таким образом ей можно было бы подсунуть, допустим хтмл сгенерённый на сервере. Или другие библиотеки могли бы менять html, а эта библиотека работала бы с ним так же как если бы изменения сделаны были через неё.
  • Вопрос задан
  • 2487 просмотров
Подписаться 2 Оценить 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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, и т.д.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы