vue样式,事件,表单
vue选项卡
1 |
|
2
1 | <!DOCTYPE html> |
3 样式
3.1 绑定HTML Class
1 | <p class="item" :class="cname"> |
对象语法
1 | <div v-bind:class="{ active: isActive }"></div> 对象 |
数组语法
1 | <div v-bind:class="[activeClass, errorClass]"></div> |
1 | data: { |
3.2 绑定内联样式
对象语法
1 | <div v-bind:style="{ color: activeColor, fontSize: fontSize + 'px' }"></div> |
数组语法
数组语法可以将多个样式对象应用到同一个元素上
1 | <div v-bind:style="[baseStyles, overridingStyles]"></div> 数组的值为对象类型 |
数据驱动
1 | data: { |
自动添加前缀
当 v-bind:style
使用需要添加浏览器引擎前缀的 CSS 属性时,如 transform,Vue.js 会自动侦测并添加相应的前缀。
4. 事件
本身是就是调用函数无参不用加括号methods可以执行的方法
事件
1 | <p @事件名="方法"> |
事件修饰符
1 | .stop 阻止事件冒泡 |
键盘修饰符
1 | .enter |
系统按键修饰符
1 | .ctrl |
4.1 事件绑定
监听事件
1 | <div id="example-1"> |
事件处理方法
1 | <div id="example-2"> |
内联调用方法
1 | <div id="example-3"> |
有时也需要在内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 $event 把它传入方法
1 | "onMoveFn($event, 100)" = |
1 | <button v-on:click="warn('Form cannot be submitted yet.', $event)"> |
4.2 事件修饰符
1 | .stop 阻止事件冒泡 |
1 | <!-- 阻止单击事件继续传播 阻止事件冒泡--> |
4.3 按键修饰符
数字
1 | <!-- 只有在 `keyCode` 是 13 时调用 `vm.submit()` --> |
1 | <!--65的按键对应的a的asill吗--> |
按键别名
1 | <!-- 回车键 --> |
- .enter
- .tab
- .delete (捕获“删除”和“退格”键)
- .esc
- .space
- .up
- .down
- .left
- .right
可以通过全局 config.keyCodes 对象自定义按键修饰符别名:
1 | // 可以使用 `v-on:keyup.f1` |
4.4 系统修饰键
可以用如下修饰符来实现仅在按下相应按键时才触发鼠标或键盘事件的监听器。
- .ctrl
- .alt
- .shift
- .meta
注意:在 Mac 系统键盘上,meta 对应 command 键 (⌘)。在 Windows 系统键盘 meta 对应 Windows 徽标键 (⊞)。在 Sun 操作系统键盘上,meta 对应实心宝石键 (◆)。在其他特定键盘上,尤其在 MIT 和 Lisp 机器的键盘、以及其后继产品,比如 Knight 键盘、space-cadet 键盘,meta 被标记为“META”。在 Symbolics 键盘上,meta 被标记为“META”或者“Meta”。
1 | <!-- Alt + C --> |
表单输入绑定*
你可以用 v-model
指令在表单 <input>
及 <textarea>
元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。
v-model
会忽略所有表单元素的 value、checked、selected 特性的初始值而总是将 Vue 实例的数据作为数据来源。你应该通过 JavaScript 在组件的 data 选项中声明初始值。
5.1 基础用法
文本
1 | <input v-model="message" placeholder="edit me"> |
复选框
单个复选框,绑定到布尔值:
1 |
|
多个复选框
1 | <input type="checkbox" value="lanball" v-model="loveList">篮球 |
多个复选框,绑定到同一个数组
1 | <div id='example'> |
单选按钮
绑定value对应的字符串
1 | <div id="example"> |
选择框
1 | <div id="example"> |
5.2 修饰符
.lazy
在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步
添加 lazy 修饰符,从而转变为使用 change 事件进行同步
失去焦点
1 | <!-- 在“change”时而非“input”时更新 --> |
.number
如果想自动将用户的输入值转为数值类型,可以给 v-model 添加 number 修饰符
1 | <input v-model.number="age" type="number"> |
.trim
自动过滤用户输入的首尾空白字符,可以给 v-model 添加 trim 修饰符
1 | <input v-model.trim="msg"> |
表单数据
1 | <!DOCTYPE html> |
tolist
1 | <!DOCTYPE html> |