zoukankan      html  css  js  c++  java
  • 黑马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>
     
  • 相关阅读:
    享元模式(Flyweight)
    策略模式(strategy)
    访问者模式(Visitor)
    适配器模式(Adapter)
    外观模式(Facade)
    代理模式(Proxy)
    ORACLE 表空间扩展方法
    Oracle XML Publisher
    DB.Package procedure Report
    case ... end 语句
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/11774888.html
Copyright © 2011-2022 走看看