Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

Vue基础

介绍

Vue 是一款用于构建用户界面的前端框架。其基于标准 HTML、CSS 与 JavaScript 构建,提供了一套声明式的、组件化的编程模型,有效地提升了开发用户界面的效率。
其特色有:

  • 声明式渲染:基于标准 HTML 拓展了一套模板语法,可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。
  • 响应性:会自动跟踪 JavaScript 状态并在其发生变化时响应式地更新 DOM。

模板语法

插值语法

在Vue中允许在HTML标签内使用胡子语法Mustache,即使用{{ }}将 js右值表达式 包裹。
js右值表达式 将会以纯文本形式插入,不会解析其中的HTML标签。

1
2
<span> Message: {{ msg }} </span>
<span> {{ isCheck ? "选中" : "未选中"}} </span>

指令语法

Vue 中的指令都是以 v- 开头,在HTML标签头中使用。
用于在表达式的值变化时响应式地更新 DOM。
<标签 v-指令名:参数="js右值表达式"></标签>
其中有的指令可以省略 参数、表达式。
其内置指令有:

  • v-text:更新元素的文本内容。相当于通过设置元素的 textContent 属性
    <span v-text="msg"></span>

  • v-html:更新元素的 innerHTML。
    <div v-html="html"></div>

  • v-show:判断元素是否可见。
    <h1 v-show="ok">Hello!</h1>

  • v-if:判断元素是否渲染。
    <h1 v-if="ok">Hello!</h1>

  • v-else:v-if 或 v-if / v-else-if 链式调用的 else 块

  • v-else-if​:v-if 链式调用的 else if 块

  • v-for:根据数据多次渲染元素或模板块。

    1
    <div v-for="item in items" :key="item.id">{{ item.text }}</div>
  • v-on:绑定事件监听器。
    可以使用 @ 来代替 v-on:
    其参数后可以添加一些修饰符,如下:

    • .stop:停止传播,相当于调用 event.stopPropagation()。
    • .prevent:取消默认行为,相当于调用 event.preventDefault()。
    • .capture:在捕获模式添加事件监听器。
    • .self:只有事件从元素本身发出才触发处理函数。
    • .{keyAlias}:只在某些按键下触发处理函数。
    • .once:最多触发一次处理函数。
    • .left:只在鼠标左键事件触发处理函数。
    • .right:只在鼠标右键事件触发处理函数。
    • .middle:只在鼠标中键事件触发处理函数。
    • .passive:通过 { passive: true } 附加一个 DOM 事件。

参考资料

vue.js 快速上手文档
Vue.js API 参考

关于本人

HaiYao的博客
Git主页

评论