«Предел мягкой частной памяти» - это предел памяти, при котором App Engine остановит экземпляр от получения большего количества запросов, дождитесь появления каких-либо невыполненных запросов и прекратит экземпляр. Подумайте об этом как о грациозном отключении, когда вы используете слишком много памяти.
Время от времени нажимать на мягкий лимит - нормально, так как все ваши запросы заканчиваются так, как должны. Однако каждый раз, когда это происходит, ваш следующий запрос может запустить новый экземпляр, который может иметь латентное воздействие.
Следуя логике вашего приложения, вам нужно использовать v-for
для заполнения элементов рецепта и преобразования вашей входной строки в объект с массивом, который будет передан рендереру:
function getRecipe (str) {
var items = str.split('*').map(s => s.trim())
return { title: items.shift(), items }
}
// in your Vue
Vue.use(VueMarkdown)
...
recipe: getRecipe(taco.recipe)
...
<p>
{{ taco.recipe.title }}
<ul>
<li v-for="item of taco.recipe.items">
{{ item }}
</li>
</ul>
</p>
Вы также должны установить исходное состояние в пустые значения, чтобы Vue не выдавал ошибок во время инициализации:
data {
taco: {
name: '',
condiment_name: '',
condiment_recipe_url: '',
recipe: { title: '', items: [] }
}
}
По желанию вы можете использовать vue-markdown
для визуализировать синтаксис уценки.
var str = "This is a list of sodas * Dr. Pepper *LaCroix * 7up *sprite * Fanta * Coke Zero *Pepsi";
//split string into an array using * as delimiter
var items = str.split('*');
//grab the first item since it's the title, not a soda
var title = items.shift();
//create an html string var
var html = `${title}<ul>`
//loop over remaining array elements and append to our html
items.forEach((el) => {
html += `<li>${el.trim()}</li>`;
});
html += '</ul>';
//display as HTML
document.getElementById('target').innerHTML = html;
<div id="target"></div>
Вы можете использовать regex для разделения строки и затем генерировать желаемый html
const s = 'This is a list of sodas * Dr. Pepper *LaCroix * 7up *sprite * Fanta * Coke Zero *Pepsi';
let chunks = s.split(/\ ?\*\ ?/);
const heading = chunks[0];
chunks = chunks.slice(1);
let output = `${heading}
<ul>
${chunks.map(c => `<li>${c}</li>`).join('\n')}
</ul>
`;
console.log(output);
https://unpkg.com/vue-markdown@2.2.4/dist/vue-markdown.js
, полностью помог мне в конкретном конкретном случае использования. Спасибо большое. – JGallardo 13 July 2018 в 20:32title
(текст до<ul>
) не отображает codepen.io/JGallardo/pen/bjNmNM – JGallardo 13 July 2018 в 21:40<vue-markdown>
{{ taco.recipe.title }}
, похоже, она загрузилась нормально. Вам, вероятно, потребуется просмотреть документацию , чтобы узнать, есть ли что-то, что вам нужно для настройки, или искать любые связанные с этим проблемы . Если вы не можете найти ответ на эти ресурсы, вы можете создать проблему и представить свой пример, чтобы помочь автору модуля. – Patrick Roberts 13 July 2018 в 22:08