多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## 一、概述 在使用vue的时候我们会有**用户自定义的属性与方法**,同时还存在vue已经定义好属性和方法(实例属性/实例方法),在使用实例属性/方法的时候需要用$符号,**以便与用户自定义的定义的属性区分开来**;vue实例中,属性、数据方法、事件方法、生命周期方法,都可以通过$+name来访问,以与用户定义的属性、方法区分开来; 另外,插件使用的时候,可以通过this.$xxx来使用插件的方法; ## 二、vue实例属性/实例方法的实例 实例属性及方法实例: ~~~ var data = { a: 1 } var vm = new Vue({ el: '#example', data: data }) vm.$data === data // => true vm.$el === document.getElementById('example') // => true // $watch 是一个实例方法 vm.$watch('a', function (newValue, oldValue) { // 这个回调将在 `vm.a` 改变后调用 }) ~~~ 更多的参考:[https://cn.vuejs.org/v2/api/#实例-property](https://cn.vuejs.org/v2/api/#实例-property) >[danger] 注意,除了vue实例自身属性外: > 1、通过vue-route组件,会将$router和$route注入; > 2、通过vuex组件,会将$store注入; ## 三、插件实例 Vue.prototype方式使用: ``` // 定义 import axios from 'axios' Vue.prototype.$axios = axios // 任意组件中,都可以使用(因为已经注册到Vue中,而所有组件都是vue实例,因此任意组件内部this都可以拿到Vue.prototype上添加的属性和方法) this.$axios.post('/api/member/save', this.form).then(res\=> { ``` Vue.use方式使用: ``` // 定义 import ElementUI from 'element-ui' import './assets/theme/element-#0b0a3e/index.css' Vue.use(ElementUI) // 以通过this.$xxx 这个xxx就是element ui的对象方法来使用 this.$message({ type: 'success', message: '保存成功!' }) ```