по какой-то причине я не могу разобраться в шаблонах усов и объединении двух шаблонов вместе ...
var template = '<div class="thing"><h2>{{head}}</h2><p>{{text}}</p>{{>passwordStrength}}</div>',
partials = {
passwordStrength: '<div class="pStrength"><span>{{weak}}</span><span>{{medium}}</span><span>{{strong}}</span></div>'
},
view = {
email: {
head: 'Email addresses',
text: 'are very useful if you use them properly...'
},
password: {
head: 'Password',
text: 'Put in the password of your choice',
passwordStrength: {
weak: 'Weak',
medium: 'Medium',
strong: 'Strong'
}
}
};
$.mustache(template, view['password'], partials['passwordStrength']);
Вышеприведенное, похоже, не работает, но похоже, что я ожидаюэто к.Я хочу сохранить весь текстовый контент в представлении, чтобы весь текст был переведен здесь.PasswordStrength «частичная / шаблонная штука», которую я хочу получить только при отображении бита пароля.Я не совсем уверен, как это должно быть сделано.Я пытался {{#passwordStrength}} {{/ passwordStrength}} подумать, что он будет рендериться только в том случае, если он существует, но тогда вам нужно также передать и частичное, и это {{> passwordStrength}}.Я не хочу, чтобы это появлялось все время ... только когда контент там тоже есть.Я делаю все это совершенно неправильно?
Полагаю, я хочу сказать, что я хочу, чтобы шаблон появлялся только при выполнении условия (мы смотрим на представление пароля), а затем я добавляю логику в свои шаблоны, что противоречит их сути.... но бит passwordStrength должен быть внутри шаблона, поэтому я немного запутался, как это обрабатывается
Спасибо, Dom
Редактировать: Stackoverflow не позволит мне ответить на мойсвой вопрос, и я не уверен, почему он не позволил бы мне сделать это, поэтому мне придется отредактировать свой исходный вопрос с моим ответом:
Мне не нужно использовать частичные ... Япросто нужно добавить HTML-код passwordStrength в исходный шаблон и обернуть его {{#passwordStrength}} {{/ passwordStrength}}, чтобы при его наличии (как только в представлении пароля) он отображал HTML-код и использовалтекст, представленный в представлении.Вот так:
var template = '<div class="thing"><h2>{{head}}</h2><p>{{text}}</p>{{#passwordStrength}}<div class="pStrength"><span>{{weak}}</span><span>{{medium}}</span><span>{{strong}}</span></div>{{/passwordStrength}}</div>',
view = {
email: {
head: 'Email addresses',
text: 'are very useful if you use them properly...'
},
password: {
head: 'Password',
text: 'Put in the password of your choice',
passwordStrength: {
weak: 'Weak',
medium: 'Medium',
strong: 'Strong'
}
}
};
$.mustache(template, view['password']);