我有一个侧边栏,它有各种链接
<sidebar-link href="/dashboard" icon="HomeIcon" :is-active="isActive()" />
<sidebar-link href="/test" icon="TestIcon" :is-active="isActive()" />
如果我给isActive('/dashboard')
,它会根据currentUrl返回true/false,并且工作正常。
然而,由于这个属性已经存在于元素(href
标记(上,我在想是否可以在这个函数中获取当前元素。
我试过了:
<sidebar-link href="/dashboard" icon="HomeIcon" :is-active="isActive($event)" />
methods: {
isActive(e) {
console.log(e); // this returns undefined
}
}
有没有一种方法可以传递目标元素,这样我就可以像e.target.href
一样使用,以减少重复。
您可以像这样使用$refs来针对特定元素
<sidebar-link ref="fancySidebarLink" />
methods: {
isActive(e) {
console.log(this.$refs.fancySidebarLink)
}
}
您还可以在所有侧边栏链接上v-for
,并在每次迭代中调用您的初始函数!(isActive
(