Vue(指令、生命周期钩子、directive、事件深入、fil

2017-11-27  本文已影响0人  z_j_r

前言:

别想一下造出大海,必须先由小河川开始

--------------------------------正文---------------------------------

MVC (设计模式)

  作用: view和modle分离
  好处:解决耦合问题
        防止混乱

VueJS(官网 https://cn.vuejs.org/

    MVVM框架(双向绑定)

  插件:(专注于某一个效果)
  库:(人是主导,操作对像、DOM)(react应该是一个UI库)
  框架:(框架是主导,操作数据)

下载

  1. 直接下载vue.js文件
  2. 使用vue-cli

格式:

    new Vue({
      el:'#box',
      data:{
        aProduct:[]
      },
      filters:{
        cur:function(value){
          return ;
        }
      },
      computed:{
        aRro:function(){
          return this.aProduct.reverse();(反转)
        }
      },
      methods:{
        send(){
        }
      }
    });

指令 v-开头

  v-model           数据绑定

  v-on              添加事件

  v-bind            绑定属性

  v-for             循环、迭代

    建议使用v-for的时候设置v-bind:key。

  v-text            纯文本

  v-html            html

  v-show            是否显示

  v-pre             跳过编译           // 直接写在标签里

  v-cloak           防止闪屏          // 写在标签里 
        [v-cloak] {
            display: none;
        }                       // 写在style里面
  // 一起使用
简写

  v-bind

            v-bind:href         :href

            v-bind:src          :src

            v-bind:key          :key

  v-on

            v-on:click          @click

            v-on:keydown        @keydown

生命周期钩子

    beforeCreate            创建前
    created                 创建后
    beforeMount             挂载前
    mounted                 挂载后
    beforeUpdate            数据更新前
    updated                 数据更新后
    beforeDestroy           销毁前
    destroyed               销毁后

自定义指令

    Vue.directive('指令名',function(el){
        当前对象
        coding....
    });

事件深入

    @click.prevent.stop(阻止默认、阻止冒泡)

    @keydown.enter.ctrl(enter键)

    自定义按键

    Vue.config.keyCodes.xxx = 键码;

过滤器 filter

1、文本过滤器

   filters: {
      xxx: function(arg1,arg2...){
         return 处理后的结果;
      }
   }

   {{message:xxx(xxx,xx,xx..)}}

2、数据过滤器

   computed: {
      xxx: function(arg1,arg2,arg3){
         操作
         返回
      }
   }

   v-for="item in xxx"

computed 计算属性

computed第一次调用一个函数,会解析一次数据,然后会有缓存,如果下次还调用这个函数,就不解析数据了,直接用缓存的数据,会提高性能。
methods第一次调用一个函数,会解析一次数据,如果下次还调用这个函数,就还会解析一次数据,调用几次,解析几次
相比较methods,更加节省性能适合用于重复渲染,逻辑复杂的计算。

    computed: {
        xxx: function(){
            操作
            return ;
        }
    }
上一篇下一篇

猜你喜欢

热点阅读