正在从方法获取目标元素(无事件)



我有一个侧边栏,它有各种链接

<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(

最新更新