Доброго времени суток!
Проект создан vue-cli.
Содержимое ячеек таблицы зависит от поступающих данных, присутствуют изображения.
Если изображение отсутствует, случается ошибка рендеринга, компонент (строка таблицы) не отображается. Соответственно, хочется произвести проверку на наличие изображения, если изображение отсутствует, как-то это отобразить.
Я пробовал вот так вот:
<td v-html="showType(rowData.type)"></td>
showType (type) {
let path = `@/assets/img/icon/${type}-type-icon.png`
return `<img src="${getImg(path)}" />`
}
function getImg (path) {
let result
try {
result = require(path)
} catch (e) {
if (e.code !== 'MODULE_NOT_FOUND') {
throw e
}
result = require('@/assets/img/icon/error-load.png')
}
return result
}
При этом блок try не выполняется, всюду заглушка.
Но если написать в блоке try
result = require(@/assets/img/icon/some-icon.png)
то блок try без ошибок исполняется.
Видимо, как-то неправильно передается path?
Вопросы:
1. Что я делаю не так?
2. Может быть есть более правильный способ?
Спасибо!