标签:五个 原型对象 动作 date end prototype upd 博客 script
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="lib/Vue/vue.development.js"></script> </head> <body> <div id="app"></div> <div id="app1"></div> <script> Vue.mixin({ created:function(){ this.hello() }, methods:{ hello:function(){ console.log(‘这是混合器添加的hello方法‘) }, say:function(){ console.log(‘这是混合器添加的say方法‘) } } }); Vue.prototype.myapp=function(){ console.log("我是外来入侵者") }; var app=new Vue({ el:"#app", methods:{ lsit:function(){ console.log(‘这是app实例本身的list方法‘) }, say:function(){ console.log(‘这是app实例本身的say方法‘) } } }); var app1=new Vue({ el:"#app1", }); app.hello(); app.lsit(); app.say(); app1.hello(); app1.say(); app.myapp(); console.log(app.__proto__) </script> </body> </html>
大家可以看到
第一个输出的是混合器的hello方法,此刻刚开始创建实例app
第二个属于混合器的hello方法,因为app本身实例没有这个方法,所以是混合器为其添加的
第三个输出的是混合器的hello方法,此刻刚开始创建实例app1
第四个输出的是app本身的list方法
第五个输出的是app实例的say方法。因为app实例中用有该方法,会将混合器添加的say方法覆盖掉
对于六和七由于app1没有自己的hello和say方法,所以只能用混合器为他添加的方法
第八个属于Vue原型里面我们添加进去的myapp方法
我们再看一下Vue原型对象app.__proto__
我们发现里面并没有混合方法,所以混合方法在创建实例对象的那一刻添加到实例对象里面了,但是里面却有myapp方法
11.Vue.compile()在 render 函数中编译模板字符串。只在独立构建时有效
标签:五个 原型对象 动作 date end prototype upd 博客 script
原文地址:http://www.cnblogs.com/douyaer/p/7650140.html