无法读取未定义 Javascript 的 属性 'split'
Cannot read property 'split' of undefined Javascript
我正在使用 Algolia instantsearch,我正在尝试从图像 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>
`;
}
}
})
);
您可能需要确保 item.products_photos
存在,一个简单的解决方法是
<img src="${window.location.origin}/storage/${(item.products_photos || '').split('public').pop()}" alt="img" class="algolia-thumb-result">
您可以使用替换:
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">
我正在使用 Algolia instantsearch,我正在尝试从图像 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>
`;
}
}
})
);
您可能需要确保 item.products_photos
存在,一个简单的解决方法是
<img src="${window.location.origin}/storage/${(item.products_photos || '').split('public').pop()}" alt="img" class="algolia-thumb-result">
您可以使用替换:
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">