作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我找到了这个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/
有没有一种方法可以“标记”对象的属性,使它们在反射中“突出”? 例如: class A { int aa, b; string s1, s2; public int AA
我是一名优秀的程序员,十分优秀!