首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法读取未定义Javascript的属性“拆分”

无法读取未定义Javascript的属性“拆分”
EN

Stack Overflow用户
提问于 2020-08-05 21:33:12
回答 2查看 374关注 0票数 1

我正在使用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。我怎么才能换掉呢?

代码语言: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> 
                `;
            }
        }
    })
);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-05 21:38:20

您可能需要确保item.products_photos的存在,一个简单的修复方法是

代码语言:javascript
复制
<img src="${window.location.origin}/storage/${(item.products_photos || '').split('public').pop()}" alt="img" class="algolia-thumb-result">
票数 2
EN

Stack Overflow用户

发布于 2020-08-05 21:39:13

您可以使用替换:

代码语言:javascript
复制
var test = "someAdress/public/someText.jpeg";
test = test.replace("public/","");
console.log(test);

所以试试这个:

代码语言:javascript
复制
<img src="${window.location.origin}/storage/${item.products_photos.replace("public/","");}" alt="img" class="algolia-thumb-result">
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63273819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档