vue1.0总结笔记一

1、 常用指令:

   v-for v-bind v-on v-show v-if v-model
  v-for {{$index}} => 索引值
  {{$key}} => key值
  $event 默认第一个参数就是咱们的事件对象  
  键盘事件 @keydown/up
       @keyCode
       @keydown.enter
       @keydown.65.66.68
       @keydown.left...
       类型 v-bind:class="myDiv"
        data:{myDiv:['red','shadow']}
        data:{
          myDiv:{
          'red':true,
          'shadow':true,
          'animate':true
         }}
        样式 :style='[init,green]'
          data:{
            init:{
              'width':'200px',
              'height':'200px',
              'background':'red'
            },
            green:{
              "background":'green'
            }
          }
2、 只渲染一次 {{*msg}}

3、 阻止冒泡:

      原生: event.stopPropagation(); event.cancelBubble = true;
    vue:    @click.stop
    阻止默认事件:

      原生: event.preventDefault(); event.returnValue = false;

4、 含有元素的转化 {{{ msg }}}

   msg: <span>hello everyOne</span>

5、 选项卡 通过$index 和 index比较显示哪一个,通过点击将index赋值给全局变量进行比较

6、 前端包管理工具 bower npm install bower -g

  bower 只是npm包管理器中的其中一个包 - 包管理器

  bower info vue<->版本

  如果直接下载 默认是 最高的版本

  bower i 下载库的名字#版本号
7、 vue-resource
  数据请求: this.$http.get({地址,{参数}})
        .then(function(){})
        .catch(function())\
       this.$http.post({地址,{参数},{emulateJSON: true}})
        .then(function(){})
        .catch(function())
  jsonp跨域: this.$http.jsonp({地址},{参数},{jsonp:"cb"})
        .then(function(){},function(){})

 百度跨域: this.$http.jsonp("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su",{
            wd: this.wd
           },{
            jsonp: "cb"
           }).then(function(data){
            console.log(data);
            this.arr = data.data.s;
           },function(){

           })
8、 过滤 filterBy toUpperCase toLowercase limitBy
  自定义过滤器: Vue.filter("名称",fucntion(){
            return "返回数据"
         })
  自定义双向过滤器: Vue.filter("名称",{
            read: function(){
              首次渲染读取
            },
            write: function(){
              更改数据渲染
              }
            })
            {{msg | 过滤器的名称}}

  过滤器 就是 把原来的数据 加工一下变成 想要的

  vue内置过滤器

  capitalize - 首字母变大写
  uppercase - 所有的英文字母变大小
  lowercase - 所有的英文字母变小写

  currency - 帮咱们变成货币形式输出
  传参
    过滤器名 "参数一" "参数二" "参数三"  

    第一个参数 就是货币符号 默认 $
    第二个参数 就是 小数位 默认 2

  pluralize
    英文有复数 复数 + s

  debounce
    做等待处理 默认是300毫秒
    也可以自己去 处理时间 传参

  limitBy
  截取

  第一个参数 截取几个 

  第二个参数 从第几个开始

  filterBy
    过滤 -》 给出关键字 帮咱们 过滤掉 没有关键字的

  orderBy  排序   生序降序

9、 自定义指令: 名称=val赋值
    Vue.directive("名称",function(val){})
      双向赋值: Vue.directive("名称",{
            bind(){
              初始化
            },
            update(val){
              数据更改
              }
            })
10、v-cloak 解决闪烁的问题,自定义属性加在标签上,<div v-cloak></div>,当vue加载完成的时候会删除v-cloak属性,所以只需要再vue加载前将其模块隐藏即可,

  c-cloak:{display:none;}
11、元素指令 <ele></ele
  Vue.elementDirective("ele",{
    bind(){
      初始化  
      },
    update(){
    会报错提示使用组件
      }
    })
12、track for循环添加一样的数据会报错,添加track-by="$index"
13、侦听属性
  var a = new Vue({
    el:'body',
    data:{
      a:'',
      b:'',
      c:''
     }
    });

  a.$watch('a',function(){
    this.c = Number(this.a) + Number(this.b);
  })
14、实例属性
  $mount('') 这个级别没有el高
  $data 就是data
  $el 可以帮咱们获取原生的dom对象
  $options 获取自定义属性/正常属性
  $log 可以快速帮咱们看到data的内容
  $destroy 销毁对象
15、this在声明周期上的指向es6
  new Vue({
    el:"body",
    data:{
      msg:"hello vue",
      arr:["Mary","Hery","Jack","Lucy"],
      arrObj: [{
        info: "my name is Mary,age is 18"
      },{
        info: "my name is Hery,age is 16"
      },{
        info: "my name is Jack,age is 20"
      },{
        info: "my name is Lucy,age is 25"
      }],
      index: 0
      },
      ready(){
        console.log(this);
        var that = this;
        setInterval(()=>{
          console.log(this);// 指向这个vue对象
          that.index++;
          that.index == that.arr.length && (that.index = 0);
        },1000)

        setInterval(function(){
          console.log(this);// 指向window
          that.index++;
          that.index == that.arr.length && (that.index = 0);
        },1000)

        setInterval(function(){
          console.log(this);// 指向vue对象
          that.index++;
          that.index == that.arr.length && (that.index = 0);
          }.bind(this),1000)
         }
        })
// setInterval,setTimeout里面的this在普通函数里面this指针发生改变指向window,
而在箭头函数上this指针不会发生改变还是指向vue对象

猜你喜欢

转载自www.cnblogs.com/chuanzhou/p/9465322.html