@Neznayko

Какой шаблонизатор использовать?

Суть: скрипт получает объект на базе которого он должен построить одну или более идентичных форм(но с разными значениями естественно)
Т.е. допустим, пришло два варианта:
var users = [
     {
       name: Петя,
       favoriteColor: Red,
       eyeColor: Brown,
     },
     {
       name: Маша,
       favoriteColor: Green,
       eyeColor: Blue,
     }
]


1
Имя: Петя
Любимый цвет: Красный (это список)
Цвет глаз: Карие (это список)
2
Имя: Маша
Любимый цвет: Зеленый (это тот же самый список, но выбрано другое
значение)

Цвет глаз: Голубые (это тот же самый список, но выбрано другое
значение)

Никогда с шаблонизаторами дела не имел, но вспомнил что где-то слышал про mustache.

Написал что-то такое:
{{#users}}
<select>
	<option value="Red" {{#selected}}Red{{/selected}}>Red</option>
	<option value="Green" {{#selected}}Green{{/selected}}>Green</option>
	<option value="Blue" {{#selected}}Blue{{/selected}}>Blue</option>
</select>
{{/users}}

A в код влепил функцию
var users = [
     {
       name: Петя,
       favoriteColor: Red,
       eyeColor: Brown,
       selected: selectedFunc
     },
     {
       name: Маша,
       favoriteColor: Green,
       eyeColor: Blue,
       selected: selectedFunc
     }
]


function selectedFunc(){
		return function(val, render){
			if(this.favoriteColor == val){
				return render('selected');
			}
		}
	}


Короче, короче это все неправильно)) Точнее лютый г..внокод и стыд. Нужно определять, другую функцию для цвета глаз. Т.к. я не могу же передать 2 параметра: значение и какой именно select сейчас. Точнее могу, но это будет костыль.

Помогите! А я спать ^_^
  • Вопрос задан
  • 279 просмотров
Пригласить эксперта
Ответы на вопрос 3
Stalker_RED
@Stalker_RED
Если предположить, что вы не первый, кто пытается реализовать select на mustache и вбить в гугл что-то вроде "mustache selected", то в первых результатах выдачи будет это: stackoverflow.com/questions/5518915/how-to-set-a-s...
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Ответ написан
Комментировать
@McMike
А кто что скажет про JSRender?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
Brightdata Тель-Авив
от 5 500 до 6 500 $
Rocket Брянск
от 60 000 до 100 000 ₽
22 мая 2024, в 02:15
10000 руб./за проект
21 мая 2024, в 23:47
30000 руб./за проект