我有一个组件,它需要在我的侧边栏打开时收集事件,每次我需要打开我的侧边栏时都需要调用这个函数。
这里有一个例子:我点击一个元素,打开我的侧边栏,mysiderbar调用一个函数,这个函数将调用一个alert函数。
但是我的代码是从我挂载的函数形式vuejs执行的
这是我的第一个文件,它将调用我的侧边栏
<template>
<div>
<p>Just a template</p>
</div>
</template>
<script>
export default {
name: 'home',
data: function() {
return {
status: 'critical'
}
},
mounted() {
var openSidebar = function() {
document.getElementsByClassName('side-bar')[0].style.display = 'block';
};
document.getElementById('box').addEventListener('click', openSidebar);
},
}
</script>
<style>
</style>
这是我的第二个文件
<template>
<div>
<app-server-status></app-server-status>
<div id="box">
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Similique laborum repellat nihil maxime et veniam sed, sequi minima, quasi ipsum enim.</p>
</div>
<div class="side-bar">Lorem ipsum dolor sit amet consectetur adipisicing elit. Porro amet sed autem non qui dolor minima. Incidunt eos recusandae doloribus hic nesciunt nostrum suscipit dolorum velit, voluptatum, accusamus, ullam fugiat!</div>
</div>
</template>
<script>
//import local component server status
import ServerStatus from './ServerStatus.vue';
export default {
name: 'home',
components: {
'app-server-status': ServerStatus
},
methods: {
callAlert() {
alert('TESTE')
}
},
created() {
},
mounted() {
function callAlert() {
alert('Test');
}
},
}
</script>
<style>
#box {
background: red;
width: 200px;
height: auto;
float: left;
}
.side-bar {
position: absolute;
width: 250px;
height: 400px;
right: 0;
display: none;
background: blue;
}
</style>
当侧边栏打开时,我想调用一个函数alert?
发布于 2018-08-02 13:14:51
尝试注册函数的全局引用(可能不是最好的替代方法)。
您的第二个文件:
...
methods: {
callAlert: function() {
alert('test');
}
}
mounted () {
this.$alert = this.callAlert
}
...
在第一个文件中:
mounted () {
this.$alert()
}
https://stackoverflow.com/questions/51572324
复制相似问题