其他章节请看:

vue 快速入门 系列

初步认识 vue

vue 是什么

Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架

所谓渐进式,就是你可以一步一步、有阶段的使用 vue,不必一开始就使用所有的东西。

命令式框架 vs 声明式框架

jQuery 是命令式操作 DOM 的前端框架。比如点击一个新增按钮,需要出现一个录入信息的弹框,在 jQuery 中,我们需要在新增按钮被点击的时候,发出一个命令,让录入信息的弹框显示。随着交互越来越复杂,代码中会有相当一部分的代码是在操作 DOM,不好维护的问题也就出现了。

现在主流的框架 vue、angular 和 react 都是声明式操作 DOM 的框架。所谓声明式,就是我们只需要描述状态与 DOM 之间的映射关系,就可以将状态渲染成视图。状态到视图的转换,框架会帮我们做,不需要我们手动去操作 DOM。我们只需要关注状态的维护,而不用再关心 DOM 的操作。

hello-world

直接用 script 的方式引入 vue,开始我们的第一个例子。

// 新建 demo/1.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
<!-- 模板将会替换挂载的元素。最后显示的是 section,而不是 div -->
<div id='app'></div>
<script type="text/x-template" id="tpl">
<section>
{{ message }}
<p v-if="seen">现在你看到我了</p>
</section>
</script> <script>
var app = new Vue({
el: '#app',
// 模板。描述状态与 DOM 之间的关系。
template: '#tpl',
// 状态
data: {
message: 'Hello Vue!',
seen: true
}
})
</script>
</body>
</html>

Tip:笔者使用 anywhere 来启动一个服务器。通过 npm install anywhere --global 即可安装。在任意目录下执行 anywhere 就能启动一个服务,也可以指定端口启动 anywhere -p 8090

进入 demo 目录,启动服务:

$ anywhere
Running at http://169.254.53.24:8000/
Also running at https://169.254.53.24:8001/ 通过浏览器请求 1.html 页面:http://169.254.53.24:8000/demo/1.html
页面显示:
Hello Vue!
现在你看到我了

如果在浏览器控制台下执行 app.seen = false,你会发现页面中的 现在你看到我了 不见了。

在这个例子中,明面上我们做的只有:在模板中描述状态与 DOM 之间的关系。背地里,vue 帮我们把状态渲染成视图,如果我们更改了状态(数据),视图会自动更新,无需我们操作 DOM。

vue 的开发模式

vue 框架的开发模式是多样化的。可以把 vue 当成 js 库来使用;也可以使用 .vue 单文件形式配合 webpack 使用,必要时还可以使用 vuex 来管理状态,vue-router 来管理路由。

其他章节请看:

vue 快速入门 系列

vue 快速入门 系列 —— 初步认识 vue的更多相关文章

  1. vue 快速入门 系列 —— 虚拟 DOM

    其他章节请看: vue 快速入门 系列 虚拟 DOM 什么是虚拟 dom dom 是文档对象模型,以节点树的形式来表现文档. 虚拟 dom 不是真正意义上的 dom.而是一个 javascript 对 ...

  2. vue 快速入门 系列 —— 侦测数据的变化 - [基本实现]

    其他章节请看: vue 快速入门 系列 侦测数据的变化 - [基本实现] 在 初步认识 vue 这篇文章的 hello-world 示例中,我们通过修改数据(app.seen = false),页面中 ...

  3. vue 快速入门 系列 —— vue 的基础应用(上)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(上) Tip: vue 的基础应用分上下两篇,上篇是基础,下篇是应用. 在初步认识 vue一文中,我们已经写了一个 vue 的 hello- ...

  4. vue 快速入门 系列 —— vue-cli 下

    其他章节请看: vue 快速入门 系列 Vue CLI 4.x 下 在 vue loader 一文中我们已经学会从零搭建一个简单的,用于单文件组件开发的脚手架:本篇,我们将全面学习 vue-cli 这 ...

  5. vue 快速入门 系列 —— 使用 vue-cli 3 搭建一个项目(上)

    其他章节请看: vue 快速入门 系列 使用 vue-cli 3 搭建一个项目(上) 前面我们已经学习了一个成熟的脚手架(vue-cli),笔者希望通过这个脚手架快速搭建系统(或项目).而展开搭建最好 ...

  6. vue 快速入门 系列 —— Vue(自身) 项目结构

    其他章节请看: vue 快速入门 系列 Vue(自身) 项目结构 前面我们已经陆续研究了 vue 的核心原理:数据侦测.模板和虚拟 DOM,都是偏底层的.本篇将和大家一起来看一下 vue 自身这个项目 ...

  7. vue 快速入门 系列 —— 侦测数据的变化 - [vue 源码分析]

    其他章节请看: vue 快速入门 系列 侦测数据的变化 - [vue 源码分析] 本文将 vue 中与数据侦测相关的源码摘了出来,配合上文(侦测数据的变化 - [基本实现]) 一起来分析一下 vue ...

  8. vue 快速入门 系列 —— vue 的基础应用(下)

    其他章节请看: vue 快速入门 系列 vue 的基础应用(下) 上篇聚焦于基础知识的介绍:本篇聚焦于基础知识的应用. 递归组件 组件是可以在它们自己的模板中调用自身的.不过它们只能通过 name 选 ...

  9. vue 快速入门 系列 —— vue loader 上

    其他章节请看: vue 快速入门 系列 vue loader 上 通过前面"webpack 系列"的学习,我们知道如何用 webpack 实现一个不成熟的脚手架,比如提供开发环境和 ...

随机推荐

  1. CSS clip-path in action

    CSS clip-path in action <!DOCTYPE html> <html lang="en"> <head> <meta ...

  2. umi

    umi https://github.com/umijs/umi https://umijs.org/zh/guide/ dva https://github.com/dvajs/dva https: ...

  3. learning free programming resources form top university of the world

    learning free programming resources form top university of the world Harvard university https://www. ...

  4. koa response image

    koa response image koa.js v1.x generator *function v2.x Async/Await koajs/examples https://github.co ...

  5. oracle check datapump jobs

    reference: https://asktom.oracle.com/pls/apex/asktom.search?tag=getting-ora-31626-job-does-not-exist ...

  6. Java基础语法:abstract修饰符

    一.简介 描述: 'abstract'修饰符可以用来修饰方法,也可以修饰类. 如果修饰方法,那么该方法就是抽象方法:如果修饰类,那么该类就是抽象类. 抽象类和抽象方法起到一个框架作用,方便后期扩展的重 ...

  7. C#测试--内部类测试

    C#测试--内部类测试 在被测试的代码库的AssemblyInfo.cs中添加"[assembly: InternalsVisibleTo("UnitTest项目名称") ...

  8. Java数组之二分查找

    简单的二分查找 package com.kangkang.array; public class demo03 { public static void main(String[] args) { / ...

  9. 更改EFI分区位置

    我是win10 + arch 双系统,并且efi分区用的是win10自动创建的(大小100m),所以这些空间很快就不够用了(内核和initramfs都放在了ESP分区当中) 我原本是直接把win的ef ...

  10. PicGo+Typora+Gitee设置图床

    PicGo图床 使用 Typora 编辑 MarkDown 非常方便,但是图片插入后只能保存在本地,十分讨厌 所以,可以使用图床技术,将图片先保存到网络端,再应用到 Typora 中 PicGo应用获 ...