gpt4 book ai didi

meteor - 使用 Flow-Router 时在引导导航中突出显示事件路线

转载 作者:行者123 更新时间:2023-12-04 01:00:51 25 4
gpt4 key购买 nike

所以我找到了这个Navigation Bar feature with Bootstrap-3 ,但截至目前,我正在使用 Flow-Router 而不是 Iron-Router。因此,我正在寻求将此辅助函数转换为 Flow-Router 术语:

Template.navItems.helpers({
activeIfTemplateIs: function (template) {
var currentRoute = Router.current();
return currentRoute &&
template === currentRoute.lookupTemplate() ? 'active' : '';
}
});

我已自行尝试解决该问题(虽然我没有费心测试它,因为我的网站/应用程序的许多部分仍然无法正常运行),但我需要以"is"或“”的形式确认不”,也许还有更多关于我做错了什么的信息。

Template.navItems.helpers({
activeIfTemplateIs: function (template) {
var currentRoute = FlowRouter.current();
return currentRoute &&
template === currentRoute.name ? 'active' : '';
}
});

我从 Flow-Router API 引导自己.这个解决方案是正确的还是出于某种原因或其他原因必须与 Iron-Router 一起使用?

最佳答案

在进一步考虑您的实际问题后,我意识到我正在以完全不同的方式在我的应用程序中执行此操作,也许您可​​能会发现 that pattern有用。我的应用程序也使用 Bootstrap 并有一个导航,我想在其中突出显示事件路线(并取消突出显示所有其他路线)。

在 iron-router 中,我这样做:

onAfterAction(){
const selector = '.nav a[href="/' + Router.current().route.getName() + '"]'; // the nav item for the active route (if any)
$('.nav-active').removeClass('nav-active'); // unhighlight any previously highlighted nav
$(selector).addClass('nav-active'); // highlight the current nav (if it exists, many routes don't have a nav)
}

在 Flow-Router 中,onAfterAction 被替换为 triggersExit 所以你可以这样做:

triggersExit(){
const selector = '.nav a[href="' + FlowRouter.current().path + '"]';
$('.nav-active').removeClass('nav-active');
$(selector).addClass('nav-active');
}

我发现这比使用空格键模板更方便。

仅供引用,您有几个选项可以获取路线名称:

FlowRouter.getRouteName() // reactive

FlowRouter.current().route.name // NOT reactive

关于meteor - 使用 Flow-Router 时在引导导航中突出显示事件路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32811444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com