当前位置: 首页 > news >正文

[Vue]插件


前言

系列文章目录:
[Vue]目录
老师的课件笔记,不含视频 https://www.aliyundrive.com/s/B8sDe5u56BU

笔记在线版: https://note.youdao.com/s/5vP46EPC

视频:尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通


文章目录

  • 前言
  • 1. 插件
  • 2. 插件的定义
  • 3. 插件的使用


1. 插件

Vue中自定义的插件,插件就是包含install方法的一个对象,install的第一个参数是Vue(),第二个以后的参数是插件使用者传递的数据,插件对象中的install方法会被vue自动调用。

使用插件能够增强vue的功能

2. 插件的定义

在src文件夹下创建plugins.js文件,用于自定义插件
在这里插入图片描述

plugins.js

export default {
	// 使用插件时,vue会自动将Vue()[vue实例对象的构造函数]传入
	// x,y,z 为其他自己传入的参数
	install(Vue,x,y,z){
		console.log(x,y,z)
		//全局过滤器
		Vue.filter('mySlice',function(value){
			return value.slice(0,4)
		})

		//定义全局指令
		Vue.directive('fbind',{
			//指令与元素成功绑定时(一上来)
			bind(element,binding){
				element.value = binding.value
			},
			//指令所在元素被插入页面时
			inserted(element,binding){
				element.focus()
			},
			//指令所在的模板被重新解析时
			update(element,binding){
				element.value = binding.value
			}
		})

		//定义混入
		Vue.mixin({
			data() {
				return {
					x:100,
					y:200
				}
			},
		})

		//给Vue原型上添加一个方法(vm和vc就都能用了)
		Vue.prototype.hello = ()=>{alert('你好啊')}
	}
}

3. 插件的使用

使用插件时,先导入对应的插件,使用Vue.use()方法使用对应的插件。

main.js

//引入Vue
import Vue from 'vue'
//引入App组件,它是所有组件的父组件
import App from './App.vue'
// 导入插件
import plugins from './plugins.js'

//关闭vue的生产提示
Vue.config.productionTip = false

// 使用插件
Vue.use(plugins)

//创建Vue实例对象---vm
new Vue({
  // 将App组件放入容器中
  render: h => h(App),
// 指定vue控制的容器
}).$mount('#app')

App.vue

<template>
  <div>
    <School></School>
    <Student></Student>
  </div>
</template>

<script>
// 导入子组件
import School from './components/School.vue'
import Student from './components/Student.vue'

export default {
  name: 'App',
  components: {
    School,
    Student
  }
}
</script>

<style>
</style>

School.vue

<template>
	<div>
		<h2>学校名称:{{name | mySlice}}</h2>
		<h2>学校地址:{{address}}</h2>
		<button @click="test">点我测试一个hello方法</button>
	</div>
</template>

<script>
	export default {
		name:'School',
		data() {
			return {
				name:'SGG',
				address:'Beijing',
			}
		},
		methods: {
			test(){
				this.hello()
			}
		},
	}
</script>

Student.vue

<template>
	<div>
		<h2>学生姓名:{{name}}</h2>
		<h2>学生性别:{{sex}}</h2>
		<input type="text" v-fbind:value="name">
	</div>
</template>

<script>
	export default {
		name:'Student',
		data() {
			return {
				name:'张三',
				sex:'男'
			}
		},
	}
</script>

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 长治哪里做网站/刷关键词怎么刷
  • wordpress后台编写seo设置/seo 工具推荐
  • 宁波建设工程学校网站/泰安seo网络公司
  • 做网站的域名和空间是什么意思/企业seo如何优化
  • 网站建设计划书/营销推广网站推广方案
  • 海口网站建设哪个好薇/天津网络推广seo
  • 大话西游服务端开服架设服务器搭建教程
  • 第三章Linux环境基础开发工具使用(yum+rzsz+vim+g++和gcc+gdb+make和Makefile+进度条+git)
  • C++(类与对象)是纸老虎吗?
  • 这些Java基础知识,诸佬们都还记得嘛(学习,复习,面试都可)
  • 00后表示真干不过,部门新来的00后测试员已把我卷崩溃,想离职了...
  • 每日一练<2>
  • Vue——组件间常用通信方式详解
  • 【鸟哥杂谈】搭建自己的本地mqtt服务器 emqx
  • 【开发心得】electron iohook集成使用方案
  • Hive高手之路:二、hive数据分析实验
  • 猿创征文|破世界纪录的国产数据库 - OceanBase
  • 【Day28】力扣算法(超详细思路+注释) [1790. 仅执行一次字符串交换能否使两个字符串相等 ] [328. 奇偶链表 ][148. 排序链表]