我正在使用Algolia实例化搜索,并试图从图像url中删除public,以便它能够显示图像。url看起来像Algolia索引属性上的这个public/photos/436Rga0UafNBJkBe6b5X0DJL49jcife687sqqgeI.jpeg,所以最终的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>
`;
}
}
})
);发布于 2020-08-05 21:38:20
您可能需要确保item.products_photos的存在,一个简单的修复方法是
<img src="${window.location.origin}/storage/${(item.products_photos || '').split('public').pop()}" alt="img" class="algolia-thumb-result">发布于 2020-08-05 21:39:13
您可以使用替换:
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">https://stackoverflow.com/questions/63273819
复制相似问题