bigcommerce - Bigcommerce 如果对 URL 的条件检查不起作用
问题描述
你能建议我下面的代码有什么问题吗?
{{#if url '===' (first (split (last (split head.meta_tags "href='")) "'")) }}
activePage
{{/if}}
如果考虑的 URL 等于当前页面 URL,我需要在标题导航中添加一个条件。
但我总是得到错误的值。
先感谢您。
解决方案
url 不是全局对象,这向我表明您处于某种非全局上下文中(可能是每个循环)。您需要使用“../”(或多个,取决于您的深度)返回到全局上下文。因此,您的代码将如下所示:{{#if url '===' (first (split (last (split head.meta_tags "href='")) "'")) }} activePage {{/if}}
但是,您可能会遇到像这样拆分元标记的问题。我建议改用面包屑。{{#contains ../breadcrumbs.1.url url}} activePage{{/contains}}
.
最后,如果您在此处的组件中,您可能永远无法单独使用“../”访问全局上下文。您可以尝试改用@root
标志。{{#contains @root.breadcrumbs.1.url url}} activePage{{/contains}}
.
如果这仍然不起作用,您将需要将面包屑对象传递给组件,但为了给您在这里使用的代码,我需要进一步了解流程。本质上,它看起来像这样:{{> components/menu/menu-item breadcrumbs=../breadcrumbs}}
推荐阅读
- node.js - 在循环中使用 mongoose 保存到 mongodb
- javascript - 如何在不收到“页面无响应”警告的情况下从 javascript 显示打印对话框?
- reactjs - 上下文是反应中的保留关键字吗?
- c# - 如何通过 Selenium 和 C# 在 HTML 中定位元素
- r - 按列值绘制子集与数据时的不同图
- python - 我如何在 DataFrame 中对句子和短语进行热编码?
- python - 列表理解中生成器的过早结束
- angular - 样式化常用元素 Angular 2+
- python - 在列表python中存储变量
- authentication - 延迟 GameCenter Authentication View Controller 从呈现 - Swift 4.2