Vue.directive("my-directive", {
bind: function (el, binding, vnode) {
console.log("my-directive bound");
},
update: function (el, binding, vnode, oldVnode) {
console.log("my-directive updated");
},
unbind: function (el, binding, vnode) {
console.log("my-directive unbound");
},
});
v-my-directive="someValue"
const tab = {
refreshPage(obj) {
console.log("refreshPage");
},
closeTab(obj) {
console.log("closeTab");
},
};
Vue.prototype.$tab = tab;
import myPlugin from "./my-plugin.js";
Vue.use(myPlugin);
<template>
<div>
<h1>This is my component</h1>
<button v-on:click="$emit('close')">Close</button>
</div>
</template>
<script>
export default {
name: "my-component",
props: {
title: {
type: String,
default: "This is my component",
},
},
methods: {
close() {
this.$emit("close");
},
},
};
</script>
import myComponent from "./my-component.vue";
Vue.component("my-component", myComponent);