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:{
指令名:{
}
}