<div id="app" v-my-directive></div><script>
let Myplugin ={};// 创建一个插件名
Myplugin.install =function(Vue,options){// 插件初始化
console.log(options);
Vue.directive('my-directive',{// 添加全局资源bind(el,binding){
el.style ="width:100px;height:100px;background-color:#ccc"}})}
Vue.use(Myplugin,{
some:true;// some 可以是任何字母 some1 some2都可以})
var vm = new Vue({
el:"#app",
data:{}})
Vue.extend
<div id="app1">app1:{{title}}</div><div id="app2">app1:{{title}}</div><script>
var Vue2 = Vue.extend({data(){return{
title:'hello 我是vue的子类'}}})
var vm1 = new Vue({
el:"#app1",
data:{}})
var vm2 = new Vue2({//重点再Vue2上 因继承了Vue。extend所以他data中有数据
el:"#app2",
data:{}})</script>
Vue.set
var vm = new Vue({
el:"#app",
data:{
title:'我是根级响应式',
obj:{}}})
vm.obj.b ='我是Vue.set添加的响应式的属性b';// 这样写是没有响应式的
Vue.set(vm.obj,'b','我是Vue.set添加的响应式的属性b')
Vue.mixin
Vue.mixin({data(){return{
msg:'混入的数据'}},created(){
console.log('混入的created');// 混入的数据优先执行
var myOption = this.$options.myOption;if(myOption){
console.log(myOption.toUpperCase());}}})
var vm = new Vue({
el:"#app",
myOption:'hello vue!',created(){
console.log('Vue的钩子函数');},
data:{}})