Невозможно прочитать свойство 'split' неопределенного Javascript - PullRequest
0 голосов
/ 06 августа 2020

Я использую мгновенный поиск Algolia и пытаюсь удалить public из URL-адреса изображения, чтобы оно могло отображать изображение. URL-адрес выглядит как public/photos/436Rga0UafNBJkBe6b5X0DJL49jcife687sqqgeI.jpeg в атрибутах индексов Algolia, поэтому окончательный URL-адрес выглядит как http://127.0.0.1:8000/storage/public/photos/436Rga0UafNBJkBe6b5X0DJL49jcife687sqqgeI.jpeg. Я хочу удалить этот public, чтобы он мог быть http://127.0.0.1:8000/storage/photos/436Rga0UafNBJkBe6b5X0DJL49jcife687sqqgeI.jpeg. Я пытался использовать split('public').pop(), но получаю сообщение об ошибке Cannot read property 'split' of undefined Javascript. Как я могу это заменить?

search.addWidget(
    instantsearch.widgets.hits({
        container: '#hits',
        templates: {
            empty: 'No results',
            item: function(item) {
                return `
                <div>
                  <img src="${window.location.origin}/storage/${item.products_photos.split('public').pop()}" alt="img" class="algolia-thumb-result">
                    </div> 
                `;
            }
        }
    })
);

Ответы [ 2 ]

2 голосов
/ 06 августа 2020

Вы можете использовать замену:

var test = "someAdress/public/someText.jpeg";
test = test.replace("public/","");
console.log(test);

Итак, попробуйте следующее:

<img src="${window.location.origin}/storage/${item.products_photos.replace("public/","");}" alt="img" class="algolia-thumb-result">
2 голосов
/ 06 августа 2020

Вероятно, вам нужно убедиться, что item.products_photos существует, простое исправление будет

<img src="${window.location.origin}/storage/${(item.products_photos || '').split('public').pop()}" alt="img" class="algolia-thumb-result">
                
...