JS库:以工具(属性,方法)来完成功能,简化代码
框架:一种约束(规则),减少编写DOM,专注数据逻辑处理,将数据和界面呈现分离,降低代码耦合度,且支持组件化开发。
1.响应式数据(数据自动更新到视图,不需要自己再写dom)与插值表达式{{数据名}}(模板字符串反引号``内可以用${} 语法进行插值。)
2.el属性:设置Vue的生效位置
3.data方法:声明响应式数据data(){ return { 数据名:'值' } }
4.methods属性:封装逻辑代码(方法)
5.computed属性:计算属性,具有缓存性,响应式数据没变则计算属性不改变
6.watch:侦听器,响应式数据改变时执行某些操作
7.指令:
内容:
v-text(textcontent)
v-html(innerhtml)
渲染:
v-for( item in obj )
v-if = 'false/true':false是销毁
v-show = 'false/true':false是隐藏
属性:
v-bind:特性='绑定值',此外 vue还增强了绑定内联式和class的输出结果,即值不一定是字符串,可以是class/style:v-bind:class="{ 类名:响应式数据 }"和v-bind:style="{ css特性=响应式数据}" }class生效取决于绑定的响应式数据,内联式的值也取决于绑定的响应式数据
缩写 :class= 和:style=
事件:
v-on:事件类型=方法名(此方法在methods定义)
缩写 @事件类型=
表单:(数据双向绑定)
v-model=响应式数据,不仅数据会影响视图,视图也会影响数据
8.修饰符(简化代码和dom操作):
表单:
v-model.trim消除前后空格
v-model.lazy,改为change事件(失去焦点后与初始数据不同后触发)后更新数据而非input事件(每次修改数据都触发)
事件:
.stop:阻止事件冒泡(当一个元素上的事件被触发时,该事件会依次向上级元素传播)
.prevent:阻止事件默认行为
.capture:使用事件捕获模式,与事件冒泡相反,先调用事件捕获指定的方法
.self:只有当事件在该元素本身触发时才会执行处理函数,即阻止事件冒泡到父元素。
.once
:事件只触发一次
按键:
.enter:监听回车键的按下事件。