vue的一些总结

1.vue实例对象的创建: var ve = new Vue({})

相关属性:

el:设置实例的控制范围(标签元素的!#id名);

data:提供vue控制范围内的数据源支持; data:{}

methods:设置的方法部分;methods:{}

2. {{}}模板语法 获取data数据源属性值和方法的返回值,以及计算属性值;

注意:vue中的{{}}和指令,提供了完全的JavaScript表达式支持;(支持操作JS语法)

3. v-text 绘制文本指令;

4. v-html 绘制文本,元素节点内容;

5. v-bind:属性名  绑定属性的; 简写  :属性名

6. v-on:事件名    绑定事件的; 简介  @事件名

7. v-model 双向数据绑定;用于表单元素中;

8. vue中的数据源改变,引起页面的重新渲染;

9. 不是所有的数据源改变,都会引起页面重新渲染,但是引用数据类型,可以通过方法this.$set(数组/对象,数组下标/key,数组元素/value)  数据源改

变,强制页面重新渲染;

10. v-if/v-show 选择是否插入该指令所在的DOM元素节点到父节点中;true插

入,反之不插入;

v-if 选择是否插入该节点到父节点中;v-show 是css中的display:none;和

display:block;

11. v-if/v-else    v-if/v-else-if/v-else  注意:最好一个模板(模块),使用template

包裹起来;  选择是否插入某节点;

12. v-for = "(v/key,i/val) in 数组名/对象"           v-for遍历

13. computed 计算属性;依赖于data数据源,数据源改变,计算属性会重新计

算,引起页面重新渲染;

作用:用来处理复杂的数据逻辑运算的(相对于data数据源而言的)

例如:

getStr(){return this.msg.substr(2,3)}

访问:直接访问计算属性名即可;

14. filters 过滤器; 例如:getStr(i,b){ return i.substr(2,3)  //i就是字符串a,b就是数

字77}  使用{{"a"|getStr(77)}}

15. watch 监听属性(基本数据类型-数值,字符串,boolean;数组;) 直接监听

即可;

对象需要使用深度监听;

监听:

watch:{

数据源监听的属性名:function(){

改变时触发的方法;

}

}

深度监听:

watch:{

数据源监听的对象名:{

handler:function(){

 对象改变时触发的方法;

},

deep:true

}

}

16.样式绑定的方式:

a.  属性绑定-直接访问数据源;

b.  使用对象访问    {class名:true,class名:true}

c.  数组  [class名,class名]

d.  三目运算符;

e.  内联样式-使用对象(key使用驼峰命名法-样式名)

17. 事件处理器

    @事件名.prevent 禁止系统默认事件触发;

@事件名.stop 取消事件冒泡;

@事件名.once 只执行一次事件;

@事件名.按键对应的编码   给编码对应的按键添加该键盘事件;

@事件名.特殊按键标识符.按键对应的编码;  例如:@keydown.ctrl.65 组

合键,同时按下ctrl+a按键;

v-model.lazy  双向数据绑定v-model默认为input事件触发;如果添加

lazy,则触发时机修改为change事件时触发;

v-model.trim 输入框自动过滤首尾空格;

18. 自定义组件 (模板内容:template)

自定义全局组件:

   Vue.component(组件名,{

   template:`模板内容`,

   data:function(){

   return {

  

   }

   },

   methods:{}

   ...

   })

  自定义局部组件:

  var ve = new Vue({

  el:"#app",

  data:{},

  components:{

  组件名:{

  template:``

  ...

  }

  }

  })

  19.组件传值的方式:

  a.父传子

  方法:

  (1).在自定义子组件中,定义配置信息中的属性props:['属性名','属性名'];

  目的是使用该属性接收传递过来的数据-基本数据类型,数组,对象,函数

名...

  (2).在自定义组件中,传递过来的属性使用方法和该自定义组件当中的

data,methods,computed...使用方式一样;

b.子传父 (父组件使用子组件中的数据源,计算属性,方法的返回值...)的

    (1).事件发射的方式

首先,在子组件中,通过事件发射 this.$emit('事件名',传递的参数)

使用该组件时,绑定该事件  @事件名="父组件中的方法名"

(2).属性传值props - porps接收父组件中的方法名,便于回调;

  c.兄弟组件传值-使用事件发射即可;(也可a组件传递给vue实例,vue实例再

传递给b组件)

  20.自定义全局指令 默认访问方式: v-指令名

    Vue.directive('指令名',{

inserted:function(el,v){

el 指代该指令绑定的DOM元素对象

v.value 指代使用该指令时,传递的参数

}

或者在bind生命周期函数中实现亦可;

})

自定义局部指令,在vue实例中使用

directives:{

指令名:{

}

}

你可能感兴趣的:(vue.js,javascript,前端)