我在我的 angular js 网站上包含了 YOTPO 评论。 这是一个两步过程 - 1) 包括他们的 widget.js - 我已经把它包括在我的 index.html 中,所有其他的 js 文件也包括在内 2) 将他们的小部件的 div 标记包含在必须显示评论的页面上——我已经将其包含在单个产品页面上,这是一个 partial/product.html
问题 - 我的网站是一个搜索网站。 Index.html 有一个搜索框,所有结果都显示在那里。当用户点击结果中的特定页面时,他将被重定向到特定产品页面 (partial/product.html)
用户流程 - 假设在搜索时我在结果中得到了产品 P1、P2、P3。
第一次,如果我点击 P1 并转到其产品页面,则会出现 YOTPO 评论。 但是当我返回搜索并单击任何其他结果时(即使有新的搜索查询和结果)- YOTPO 小部件不会出现。但如果我刷新页面,它就会出现。
我认为当调用 widgets.js(包含在 index.html 中)并刷新重新加载时会显示评论。 但是我如何确保每次用户导航到产品页面时它都重新加载? 或者在 angularJS 中如何处理这种情况 - 我是 JS 的新手,可能是我在这里遗漏了一些概念。
最佳答案
对于我的 VueJS SPA,我在 mounted()
中使用了以下代码:
if (
typeof yotpo != 'undefined'
&& yotpo
&& yotpo.initialized
&& !document.querySelector('.yotpo-display-wrapper')
) {
(new Yotpo.API(yotpo)).refreshWidgets()
}
在 https://support.yotpo.com/en/article/loading-yotpo-with-ajax 上找到方法
关于javascript - 如何在 Angular js部分文件中刷新第3方小部件的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33884956/