Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从方法获取目标元素(无事件)_Javascript_Vue.js_Vuejs2 - Fatal编程技术网

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

Javascript 从方法获取目标元素(无事件),javascript,vue.js,vuejs2,Javascript,Vue.js,Vuejs2,我有一个侧边栏,有各种链接 如果我给isActive('/dashboard'),它将基于当前URL返回true/false,并且工作正常 但是,由于元素(hreftag)上已经存在此属性,因此我在考虑是否可以在该函数中获取当前元素 我试过: 方法:{ I活动(e){ console.log(e);//返回未定义的 } } 是否有一种方法可以传递目标元素,以便我可以使用likee.target.href来减少重复。您可以使用这样的方法来针对特定的元素 方法:{ I活动(e){ co

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


如果我给
isActive('/dashboard')
,它将基于当前URL返回true/false,并且工作正常

但是,由于元素(
href
tag)上已经存在此属性,因此我在考虑是否可以在该函数中获取当前元素

我试过:


方法:{
I活动(e){
console.log(e);//返回未定义的
}
}
是否有一种方法可以传递目标元素,以便我可以使用like
e.target.href
来减少重复。

您可以使用这样的方法来针对特定的元素


方法:{
I活动(e){
console.log(此.$refs.fancySidebarLink)
}
}


您还可以在所有侧边栏链接上
v-for
,并在每次迭代中调用初始函数!(
isActive

您使用它来应用某种样式还是其他逻辑?我根据结果应用样式(真/假)最好不要运行方法,而是直接在模板中执行,将获得缓存的好处,因为当
方法始终运行时,数据几乎不会在那里更改。
侧栏链接
路由器链接
vue路由器
的包装器吗?所以你建议我对20个侧栏元素有20个参考文献?我的意思是,你几乎可以应用这种解决方案:不需要有太多的参考文献。您可以在所有链接上循环,并使用类似于
fancySidebarLinkHome
fancySidebarLinkAbout
等的内容插入链接,但是是的,在循环模板本身上直接设置样式总是更好。请检查
href=“”/test'==$route.path”
直接进入您的
类/样式
元素属性。您是否发现我的链接答案有趣@senty?我最终在组件内移动了
isActive()
逻辑。这挽救了这一天。如果我想到另一个选择,我会在这里发帖