Vue.js是什么

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

什么是渐进式?

  • 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。
  • 如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统

特点:

  • 解耦视图和数据
  • 可复用的组件
  • 前端路由技术
  • 状态管理
  • 虚拟DOM

起步

通过引入:

  • <!-- 开发环境版本,包含了有帮助的命令行警告 -->
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
    
  • <!-- 生产环境版本,优化了尺寸和速度 -->
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>测试Hello Vue</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--
创建Vue对象的时候,传入了一些options:{}{}中包含了el属性:该属性决定了这个Vue对象挂载到哪一个元素上,很明显,我们这里是挂载到了id为app的元素上{}中包含了data属性:该属性中通常会存储一些数据这些数据可以是我们直接定义出来的,比如像上面这样。也可能是来自网络,从服务器加载的
-->
<div id="app">{{ message }}
</div>
<script>var app = new Vue({el:'#app',data:{message:'Hellow Vue'}})
</script>
</body>
</html>

注意:定义模板的代码,要在 Vue 代码的前面。否则,数据就无法渲染进 DOM 系统。

声明式渲染

  • v-bindattribute 被称为指令。指令带有前缀v-`,以表示它们是 Vue 提供的特殊 attribute
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
<!--  指令 -- v-bind  --><span v-bind:title="message">鼠标悬停几秒钟查看此处动态绑定的提示信息!</span>
</div>
<script>var app2 = new Vue({el: '#app',data: {message: '页面加载于 ' + new Date().toLocaleString()}})
</script>
</body>
</html>

条件与循环

  • v-if 指令判断内容是否显示
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-if-->
<div id="app-3"><p v-if="seen">现在你看到我了</p>
</div>
<script>var app3 = new Vue({el: '#app-3',data: {//seen改为false的时候则看不到内容seen: true}})
</script>
</body>
</html>
  • v-for 指令可以绑定数组的数据来渲染一个项目列表

如果添加一个内容化,则会直接加到已有内容的后面

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-for-->
<div id="app-4"><ol><li v-for="todo in todos">{{ todo.text }}</li></ol>
</div>
<script>var app4 = new Vue({el: '#app-4',data: {todos: [{ text: '学习 JavaScript' },{ text: '学习 Vue' },{ text: '整个牛项目' }]}})
</script>
</body>
</html>

处理用户输入

  • v-on 指令添加一个事件监听器

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-on-->
<div id="app-5"><p>{{ message }}</p><button v-on:click="reverseMessage">反转消息</button>
</div>
<script>var app5 = new Vue({el: '#app-5',data: {message: '123456'},methods: {reverseMessage: function () {this.message = this.message.split('').reverse().join('')}}})
</script>
</body>
</html>
  • v-model 指令实现表单输入和应用状态之间的双向绑定。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<!--v-model-->
<div id="app-6"><p>{{ message }}</p><input v-model="message">
</div>
<script>var app6 = new Vue({el: '#app-6',data: {message: ' '}})
</script>
</body>
</html>

[Vue.js] 基础 -- Vue简介相关推荐

  1. [Vue.js] 基础 -- Vue常用特性

    Vue常用特性 常用特性概览 表单操作 自定义指令 计算属性 过滤器 侦听器 生命周期 表单操作 基于Vue的表单操作 Input 单行文本 textarea 多行文本 select 下拉多选 rad ...

  2. [Vue.js] 基础 -- Vue实例

    Vue实例 创建一个Vue实例 // var vm = new Vue({// 选项 }) 当创建一个 Vue 实例时,你可以传入一个选项对象 一个 Vue 应用由一个通过 new Vue 创建的根 ...

  3. vue.js 入门,简介

    vue的源代码下载--开发版本和生产版本 https://cn.vuejs.org/js/vue.js https://cn.vuejs.org/js/vue.min.js vue中文学习官网 htt ...

  4. # vue.js 之 对vue.js基础理解

    vue.js 之 对vue.js基础理解 Vue构造器 1 . Vue.js是一个构造函数,编程中称之为构造器 2 . 每一个new Vue() 都是一个Vue构造函数的实例,这个过程叫做实例化 3 ...

  5. Vue.js 基础语法 入门语句 Vue学习笔记 v-model 双向数据绑定

    Vue.js 基础语法,入门语句,Vue学习笔记 学习网站:https://www.bilibili.com/video/BV15741177Eh vue 的体验 响应式:数据一旦改变,视图就会响应改 ...

  6. Vue.js(一) Vue.js + element-ui 扫盲

    Vue.js(一) Vue.js + element-ui 扫盲 2018年12月09日 20:32:59 vbirdbest 阅读数 7043更多 分类专栏: Vue.js + ElementUI ...

  7. vue.js:590 [Vue tip]: Event “removeitem“ is emitted in component <TodoItems> but the handler is regi

    报错信息 vue.js:590 [Vue tip]: Event "removeitem" is emitted in component <TodoItems> bu ...

  8. vue.js报错 vue.js:597 [Vue warn]: Cannot find element: #app

    刚开始使用vue的时候发现vue报vue.js:597 [Vue warn]: Cannot find element: #app的错误,初始以为是写的代码有错误导致,于是认真的对照了几遍发现代码和官 ...

  9. vue.js:597 [Vue warn]: Error in callback for watcher dat: TypeError: Cannot read property 'call'

    vue.js:597 [Vue warn]: Error in callback for watcher "dat": "TypeError: Cannot read p ...

最新文章

  1. 什么是三层架构?简单的介绍三层架构!
  2. Google Cloud API 验证
  3. polybase配置 sql_Hadoop 的 PolyBase 配置和安全
  4. android sqlite alert table,android sqlite数据库操作
  5. igs无法分配驱动器映射表_硬盘无法使用,用DiskPart进行分区和格式化,非常简单...
  6. asp.net web开发步骤_Web 系统安全性测试之会话管理测试
  7. 支持markdown的服务器,基于tornado实现的一个markdown解析服务器
  8. 【Elasticsearch】elasticsearch 段 segment 段合并
  9. 2023秋招大厂经典面试题及答案整理归纳(241-260)校招必看
  10. Windows实例通过IIS如何搭建多个FTP站点
  11. oracle weituxinxi,Oracle 语句记录
  12. Adversarial Generation of Continuous Images 阅读笔记
  13. Flutter 2.0 发布 | 针对 Web,移动端和桌面端构建的下一代 Flutter
  14. PA-项目转资基础篇
  15. c# winform打包单个exe文件
  16. Android 查看第三方应用进程的内存开销
  17. PS磨皮神器更新为Portraiture V3中文汉化版(仅64位) 。
  18. Django2.1遇到 app_label and isn't in an application in INSTALLED_APPS 错误
  19. mysql存储过程语法大全
  20. 242 剪刀包袱锤的方式决定谁请客

热门文章

  1. 开发vue用什么ide_VUE项目开发前期需要准备和配置些什么环境?
  2. python正则表达式数字开头_Python正则表达式总结
  3. SpringBoot+EHcache实现缓存
  4. pg函数同步数据到mysql_将数据从PostgreSQL复制到MySQL
  5. 蓝牙耳机声音一顿一顿的_这次让世界听听我们的声音——声阔SoundcoreLiberty2Pro蓝牙耳机...
  6. Win10 20H2正式发布,对比旧版新功能一览
  7. 服务器配置RAID5(3块硬盘做RAID5,另外再弄一块做数据冗余盘)
  8. margin 塌陷bug 触发bfc
  9. Jmeter(三)断言和关联
  10. 控制属性修改时间,控制时间,联合主键