(1)首先要有一个点击div,里面有一个click动作按钮,且改动作按钮对应一个点击之后要做的事情。这里是跳转到一个外部链接, @click="jump()"
(2)然后要自己自定义的指令,这个指令可以操作本身所在的dom。二这个操作的动作就是click。自定义指令使用directives来编写,inserted(el)就表示本身,el.click就表示对本身进行点击操作。而操作的后果就有(1)中的@click这个指令所对应的函数来决定。
<template>
<div>
//
<button class="autoClick" @click="jump()" v-autoClick> 自动跳转</button>
</div>
</template>
<script>
export default {
name: "SupportWork1",
directives:{
autoClick:{
inserted(el){
el.click()
}
}
},
methods:{
jump(){
window.location.href="http://www.baidu.com"
}
}
}
</script>
<style>
.autoClick{
color: transparent;
border: none;
}
</style>
结果:原本的结果是将网页放在router-view中(需要嵌入式的效果)。但是实际上是直接跳转到了百度,而非router-view跳转到百度。
但是所有的这些代码都是在router-view所对应的component中写的,为什么还会波及到整个页面呢?
这个结果并不符合逻辑,但是触发我想到另外一个解决方案