一.Vue的自定义事件:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue自定义事件</title> </head> <body> <div id="app"> <my-btn @total="allCounter()"></my-btn> <my-btn @total="allCounter()"></my-btn> <my-btn @total="allCounter()"></my-btn> <my-btn @total="allCounter()"></my-btn> <my-btn @total="allCounter()"></my-btn> <my-btn @total="allCounter()"></my-btn> <p>一共点击了{{totalCounter}}次</p> </div> <!--定义子组件模版 --> <template id="my-btn"> <button @click="total()">点击了{{counter}}次</button> </template> <script src="js/vue.js"></script> <script> Vue.component('my-btn', { template: '#my-btn', data() { return { counter: 0 } }, methods: { // 每次自增1 total() { this.counter += 1; // alert(0); // 通外界调用此方法 this.$emit("total"); } } }) // 创建vue的实例 let vm = new Vue({ el: '#app', data: { totalCounter: 0 }, methods: { allCounter() { this.totalCounter += 1; } } }); </script> </body> </html>
二 .Vue中的匿名插槽和实名插槽:
Slot插槽:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue的全局组件</title> </head> <body> <div id="app"> <my-slot> <img src="images/3.jpeg" width="200"> </my-slot> </div> <template id= "my-slot"> <div id="panel"> <h2 class="panel-header">插槽的头部</h2> <!-- 预留一个插槽 --> <slot>可以替换任何标签,如果没有,则显示此提示内容</slot> <footer>插槽的尾部</footer> </div> </template> <script src="js/vue.js"></script> <script> Vue.component('my-slot', { template: '#my-slot', }) // 创建vue的实例 let vm = new Vue({ el: '#app', data: { name: 'si peng' }, }); </script> </body> </html>
实名插槽:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Vue的全局组件</title> </head> <body> <div id="app"> <my-computer> <div slot="cpu">我是CPU</div> <img src="images/3.jpeg" width="200"> </my-computer> </div> <template id= "my-computer"> <div id="main"> <slot name="cpu">这里是插CPU的</slot> <slot name="gpu">这里是插gpu的</slot> <slot name="memory">这里是插内存条的</slot> <slot name="hard-drive">这里是插硬盘的</slot> </div> </template> <script src="js/vue.js"></script> <script> Vue.component('my-computer', { template: '#my-computer', }) // 创建vue的实例 let vm = new Vue({ el: '#app', data: { name: 'si peng' }, }); </script> </body> </html>
三.Vue.router的使用:
学习链接:
https://cn.vuejs.org/v2/guide/
https://mp.weixin.qq.com/s?__biz=MzIxNjEzNjUzOQ==&mid=502636119&idx=1&sn=1f5a8ce0bda11d9e3458abcb6ae552d1&chksm=0f8c906338fb1975888bca685a9b892dae6ff17811b8b93b388b2cb107a36f42aa27e1282218&mpshare=1&scene=23&srcid=1029I4JE1piCtU8xYCPt5SqA#rd
视频学习:
http://study.163.com/course/courseMain.htm?courseId=1004179049