带有组件的模板的上下文缓存
我有一个带有菜单组件的页面。菜单用不同的 CSS 类标记活动元素。
现在我想缓存每个菜单项页面。不同的页面都来自相同的模块/操作,区别只是 ID (foo/bar?item=1)
。
问题是菜单只缓存一次,但我需要每个菜单项的缓存版本。
我刚刚尝试了缓存选项“contextual: true”,但我认为这不起作用,因为主模板(barSuccess)始终相同。
你们有什么想法,如何解决这个问题吗?
I have a page with a menu component. The menu marks the active element with a different CSS class.
Now I want to cache each menu item page. The different pages come all from the same module/action, the difference is just the ID (foo/bar?item=1)
.
The problem is that the menu is only cached one time, but I need a cache version for every menu item.
I just tried the cache option "contextual: true", but I think this does not work because the main template (barSuccess) is always the same.
Do you guys have any idea, how to solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以通过将 sf_cache_key 传递给组件来强制缓存密钥:
这样组件将为每个“item”值进行缓存。
另一种方法是使用不同的参数集:
这种方式组件也将为项目的每个值进行缓存。
在第一个解决方案中,您强制使用缓存键。当您需要自定义逻辑来决定是否应该生成缓存时,它非常有用。
第二种解决方案依赖于这样的事实:组件会针对传递给它的参数值的每种组合进行缓存(当然可以有多个)。
You can force cache key by passing the sf_cache_key to the component:
This way component will be cached for every value of 'item'.
Another way is to use different sets of parameters:
This way component will be cached for every value of item as well.
In the first solution you force the cache key. It's useful when you need custom logic to decide if the cache should be generated or not.
The second solution relies on fact that component is cached for every combination of parameter values passed to it (there can be more than one of course) .