Vue ---day01

Vue 和 React 一样都是组件化;

核心:声明式渲染和组件系统

其他: 客户端路由   大数据管理    build系统

vue组件:

  根组件: let app = new Vue({})   app.$mount();延迟挂载

  可复用组件: Vue.component('component-a',{})

options:

  el: 实例的私有属性

  template:  模板,(根实例未设置时,取el标签内容为默认模板)  (template--->vnode--->dom元素)

  render:优先级高于 el 和 template   (vnode--->dom元素,渲染速度比el和template快)

  components:私有组件

  data:对象,私有数据(可复用模板必须以函数方式返回对象)

实例的属性和方法:

  app.$data    app.$el   app.$set 等 以$开头

  访问私有数据: app.$data.user     app.user  

拦截监听:

  rev2.0x,Object.defineProperty (递归调用)

     添加对象属性: 

        Vue.$set()    添加属性的同时,defineProperty

        app.$set()   是Vue.$set的别名

     数组方法: shift unshift  pop push split等方法 (改写了)

     不支持空数组添加成员 

     不支持length属性

     es6操作数组方法:  [...arr, new1] 

  rev3.0x: Proxy (兼容性降低,性能增强)

大胡子语法:

  可以在组件中渲染     {{表达式}},但不可以设置标签的属性 

指令:

  v-text  v-html  v-pre

  v-cloak     为标签添加 v-cloak类,  [v-cloak]{display:none}  dom渲染后显示

  v-for  ...in/of...   循环遍历 

  :key   

  v-bind  标签的属性等   v-bind:class='activeClass'   也可以是数组和对象 (Vue对 v-bind 指令做了增强)  

      :class= ""    :style=""   :title=""   绑定属性

      

 

 

 

 

 

  

 

 

    

 

posted @ 2020-02-17 14:49  铁塔  阅读(87)  评论(0编辑  收藏  举报