常用指令
v-if 元素是否移除或者插入
v-else
v-else-if
v-pre 不编译{{}}
v-cloak 使用v-cloak能够解决插件表达式闪烁的问题
v-once 告诉浏览器的Vue编译器,只渲染该元素或组件一次
v-show 元素是否显示或隐藏
v-model 双向数据绑定,v-bind是单向数据绑定(内存js改变影响页面)
v-text 是元素的innerText只能在双标签中使用
v-html 是元素的innerHTML,不能包含注释
v-on methods和v-on的使用(v-on简写@)
v-for 循环遍历
v-bind class结合v-bind使用(v-bind简写:)
class结合v-bind使用
需要根据可变的表达式的结果来给class赋值,就需要用到v-bind:class=“xxx”
v-bind:属性名=“表达式”,先运算表达式。最终表达式运算结束的结果赋值给该属性名
简化的写法是: :属性名="表达式"
:key="index" 和 v-bind:key="index"; //相等
1
class:结果的分类
一个样式: 返回字符串(三元表达式和key和样式的清单对象)
多个样式:返回对象(样式做key,true或flase做值)
methods和v-on的使用
绑定事件的方法
v-on:事件名="表达式||函数名"
简写: @事件名="表达式||函数名"
函数名如果没有参数,可以省略() 只给一个函数名称
声明组件内函数,在export default这个对象的根属性加上methods属性,其是一个对象
key 是函数名 值是函数体
在export default这个对象的根属性加上data属性,其是一个函数,返回一个对象
对象的属性是我们初始化的变量的名称
凡是在template中使用变量或者函数,不需要加this
在script中使用就需要加上this
v-for的使用
可以使用操作数组 (item,index),这里的item是数组中的每一个对象。
可以使用操作对象 (value,key,index) 这里的key value是对象中的key,value
key 是类似trank by 的一个属性
为的是告诉vue,js中的元素,与页面之间的关联,当识图删除元素的时候,是单个元素的删除而不是正版替换,所以需要关联其关系,设置(必须,性能)
2.2.0+ 的版本里,当在组件中使用 v-for 时,key 现在是必须的。
自定义指令
75 // main.js 中先将自定义指令定义好
76 // directives有两个参数
77 //参数一: 自定义指令 v-focus
78 //参数二: 对象,对象中可以添加很多方法
79 // 添加一个inserted方法:而这个方法中又有两个参数:
80 //参数一:el 当前使用自定义指令的对象
81 //参数二:obj 是指它(v-color="color" )后面设置的表达式
82 //{expression:"color",value:"red",}
83 Vue.directive("focus",{
84 inserted:function(el,obj){
85 // console.log(el);
86 el.focus();
87 }
88 });
89 Vue.directive("color",{
90 inserted:function(el,obj){
91 // obj.style.color = "red";
92 obj.style.color = obj.value;
93 console.log(obj.value);
94 },
bind: function () {},
95 });