igor-fedorov
@igor-fedorov
Full Stack разработчик

Наблюдаемый список Javascript?

Добрый день. Допустим, есть такой объект:
let messList = [
	{	
		peer_id: 58415631,
		photo: "/img/photo1.png",
		name: "Влад Орлов",
		text: "Привет, напиши мне потом",
		date: "вчера в 21:02"
		unread: 0,
		typing: 0
	},
	{	
		peer_id: 898815631,
		photo: "/img/photo2.png",
		name: "Настя Васильчук",
		text: "Здорово!",
		date: "сегодня в 21:02"
		unread: 51,
		typing: 1

	},
	{	
		peer_id: 58415631,
		photo: "/img/photo1.png",
		name: "Влад Орлов",
		text: "Привет, напиши мне потом",
		date: "вчера в 21:02"
		unread: 0,
		typing: 0
	},
	{	
		peer_id: 898815631,
		photo: "/img/photo2.png",
		name: "Настя Васильчук",
		text: "Здорово!",
		date: "сегодня в 21:02"
		unread: 51,
		typing: 1

	}
]


Как его связать c HTML представлением так, чтобы при изменении значений в объекте менялись и данные в DOM, как например и перемещение элементов массива.
  • Вопрос задан
  • 254 просмотра
Решения вопроса 1
Имхо не лучшая идея тащить angular/react если вам нужен только вотчер.
Вот тут написано как сделать полифилл на watch.
Просто вставляете его и делаете
window.watch('messList', (id, old, cur) => {
   someFunctionWithCurValue(cur)
})
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@developer007
ангуляр
Ответ написан
Комментировать
@Cnfc19932
Full-stack web developer
Используйте какую-нибудь реактивную библиотеку, или писать костыли самому
Ответ написан
Комментировать
@zzzevaka
Вам нужен React
Ответ написан
Комментировать
@DoumanAsh
Исключая стандартный совет использовать React(лучше использовать Inferno/Riot).
Задача данная требует переопределения стандартный методов массива: push/pop и т.п.
Только не советую это делать для прототипа массива.
Так как это довольно трудоемко то использовать существующей библиотеки может быть более выгодным(hint Observable Array).
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы