vue 实现脚本
Vue 实现脚本的方法
Vue.js 提供了多种方式来实现脚本功能,包括直接在组件中编写脚本、使用混入(Mixins)、自定义指令、插件等。以下是几种常见的实现方式:
直接在组件中编写脚本
在 Vue 单文件组件(SFC)中,可以通过 <script> 标签直接编写 JavaScript 代码。这是最常见的方式,适合组件特定的逻辑。

<template>
<div>{{ message }}</div>
</template>
<script>
export default {
data() {
return {
message: 'Hello, Vue!'
}
},
methods: {
showMessage() {
alert(this.message)
}
},
mounted() {
this.showMessage()
}
}
</script>
使用混入(Mixins)
混入是一种分发 Vue 组件可复用功能的灵活方式。混入对象可以包含任意组件选项,所有混入对象的选项将被“混合”进入组件本身的选项。
// mixin.js
export const myMixin = {
data() {
return {
mixinMessage: 'Hello from Mixin!'
}
},
methods: {
showMixinMessage() {
alert(this.mixinMessage)
}
}
}
<template>
<div>{{ mixinMessage }}</div>
</template>
<script>
import { myMixin } from './mixin.js'
export default {
mixins: [myMixin],
mounted() {
this.showMixinMessage()
}
}
</script>
自定义指令
Vue 允许注册自定义指令,用于对普通 DOM 元素进行底层操作。

// 注册一个全局自定义指令 `v-focus`
Vue.directive('focus', {
inserted: function (el) {
el.focus()
}
})
<template>
<input v-focus>
</template>
使用插件
插件通常用于为 Vue 添加全局级别的功能。插件可以是一个对象或函数,通过 Vue.use() 安装。
// plugin.js
export default {
install(Vue) {
Vue.prototype.$myMethod = function () {
alert('Plugin method called!')
}
}
}
// main.js
import Vue from 'vue'
import MyPlugin from './plugin.js'
Vue.use(MyPlugin)
<template>
<button @click="$myMethod">Call Plugin Method</button>
</template>
使用 Composition API
Vue 3 引入了 Composition API,提供更灵活的逻辑复用方式。
<template>
<div>{{ count }}</div>
<button @click="increment">Increment</button>
</template>
<script>
import { ref } from 'vue'
export default {
setup() {
const count = ref(0)
const increment = () => {
count.value++
}
return {
count,
increment
}
}
}
</script>
注意事项
- 在 Vue 2 中,使用 Options API 编写脚本,而在 Vue 3 中推荐使用 Composition API。
- 混入和插件适用于全局逻辑复用,而组件内脚本适用于局部逻辑。
- 自定义指令适合对 DOM 进行底层操作。






