黑马vue---61、为什么vue组件的data要是一个函数
黑马vue---61、为什么vue组件的data要是一个函数
一、总结
一句话总结:
因为js中以函数为变量作用域,所以这样可以保证每个组件的数据不互相影响
二、why components data must be a function
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>Document</title> 9 <script src="./lib/vue-2.4.0.js"></script> 10 </head> 11 12 <body> 13 <div id="app"> 14 <counter></counter> 15 <hr> 16 <counter></counter> 17 <hr> 18 <counter></counter> 19 </div> 20 21 22 <template id="tmpl"> 23 <div> 24 <input type="button" value="+1" @click="increment"> 25 <h3>{{count}}</h3> 26 </div> 27 </template> 28 29 <script> 30 var dataObj = { count: 0 } 31 32 // 这是一个计数器的组件, 身上有个按钮,每当点击按钮,让 data 中的 count 值 +1 33 Vue.component('counter', { 34 template: '#tmpl', 35 data: function () { 36 // return dataObj 37 return { count: 0 } 38 }, 39 methods: { 40 increment() { 41 this.count++ 42 } 43 } 44 }) 45 46 // 创建 Vue 实例,得到 ViewModel 47 var vm = new Vue({ 48 el: '#app', 49 data: {}, 50 methods: {} 51 }); 52 </script> 53 </body> 54 55 </html>
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672