vue 2.0学习心得

来源:互联网 发布:windows备份恢复 编辑:程序博客网 时间:2024/06/05 16:52

vue 2.0学习心得

跟着vue2.0官网写的一些理解

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>vue</title></head><body>  <div id="app-2">    <span v-bind:title="message">      Hover your mouse over me for a few seconds to see my dynamically bound title!    </span>  </div>  <div id="app-4">    <ol>      <li v-for="todo in todos">        {{ todo.text }} {{ todo.name}}      </li>    </ol>  </div>  <div id="app-7">    <ol>      <newlabel></newlabel>    </ol>  </div>  <div id="app-8">    <ol>      <newlabels v-for="exam in exams" v-bind:dodo="exam"></newlabels>      <!-- 自定义标签 -->    </ol>  </div>  <div id="app1">    {{a}}  </div><p>  生命周期:每个 Vue 实例在被创建之前都要经过一系列的初始化过程。例如,实例需要配置数据观测(data observer)、编译模版、挂载实例到 DOM ,然后在数据变化时更新 DOM 。在这个过程中,实例也会调用一些 生命周期钩子 ,这就给我们提供了执行自定义逻辑的机会。例如,created 这个钩子在实例被创建之后被调用:  var vm = new Vue({    data: {      a: 1    },    created: function () {      // `this` 指向 vm 实例      console.log('a is: ' + this.a)    }  })  // -> "a is: 1"  在实例生命周期的不同阶段调用,如 mounted(被挂载时el)、 updated (被更新时)、destroyed 。(不同的阶段,不同的函数。想在不同阶段实现不同操作,就实现该函数)。钩子的 this 指向调用它的 Vue 实例。一些用户可能会问 Vue.js 是否有“控制器”的概念?答案是,没有。组件的自定义逻辑可以分布在这些钩子中。</p>  <script src="js/vue.js"></script>  <script>  var app2 = new Vue({    el: '#app-2',    data: {      message: 'You loaded this page on ' + new Date()    }  })    var app4 = new Vue({      el: '#app-4',      data: {        todos: [          { text: 'Learn JavaScript', name:'oooo' },          { text: 'Learn Vue' , name:'11111' },          { text: 'Build something awesome',name:'2222'  }        ]      }    })    // Define a new component called todo-item    Vue.component('newlabel', {      template: '<li>This is a new list</li>'    })    var app7= new Vue({      el:'#app-7',    })    Vue.component('newlabels', {      props: ['dodo'],      // 子元素通过 props 接口实现了与父亲元素很好的解耦。      template: '<li>{{dodo.text}}</li>'    })    var app8= new Vue({      el:'#app-8',      data:{        exams:[          { text:'aaaaaaaaaa' },          { text:'bbbbbbbbbb' },          { text:'ccccccccccccccccccccccc' }        ]      }    })    var app1 = new Vue({      el:'#app1',      data:{        a:1      }    })    // app1.$data    //app1.$el    app1.$watch('a',function(n,o){      console.log(n + ':' + o );    });    // $watch 是一个实例方法// vm.$watch('a', function (newVal, oldVal) {//   // 这个回调将在 `vm.a`  改变后调用// })    // 控制 台app1.a = 3   a的值改变会执行$watch方法监控a,n为新值,o为旧值  </script></body></html>

0 0