[Vue.js] 基础 -- Vue简介
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-bind
attribute 被称为指令。指令带有前缀
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简介相关推荐
- [Vue.js] 基础 -- Vue常用特性
Vue常用特性 常用特性概览 表单操作 自定义指令 计算属性 过滤器 侦听器 生命周期 表单操作 基于Vue的表单操作 Input 单行文本 textarea 多行文本 select 下拉多选 rad ...
- [Vue.js] 基础 -- Vue实例
Vue实例 创建一个Vue实例 // var vm = new Vue({// 选项 }) 当创建一个 Vue 实例时,你可以传入一个选项对象 一个 Vue 应用由一个通过 new Vue 创建的根 ...
- vue.js 入门,简介
vue的源代码下载--开发版本和生产版本 https://cn.vuejs.org/js/vue.js https://cn.vuejs.org/js/vue.min.js vue中文学习官网 htt ...
- # vue.js 之 对vue.js基础理解
vue.js 之 对vue.js基础理解 Vue构造器 1 . Vue.js是一个构造函数,编程中称之为构造器 2 . 每一个new Vue() 都是一个Vue构造函数的实例,这个过程叫做实例化 3 ...
- Vue.js 基础语法 入门语句 Vue学习笔记 v-model 双向数据绑定
Vue.js 基础语法,入门语句,Vue学习笔记 学习网站:https://www.bilibili.com/video/BV15741177Eh vue 的体验 响应式:数据一旦改变,视图就会响应改 ...
- Vue.js(一) Vue.js + element-ui 扫盲
Vue.js(一) Vue.js + element-ui 扫盲 2018年12月09日 20:32:59 vbirdbest 阅读数 7043更多 分类专栏: Vue.js + ElementUI ...
- 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 ...
- vue.js报错 vue.js:597 [Vue warn]: Cannot find element: #app
刚开始使用vue的时候发现vue报vue.js:597 [Vue warn]: Cannot find element: #app的错误,初始以为是写的代码有错误导致,于是认真的对照了几遍发现代码和官 ...
- 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 ...
最新文章
- 什么是三层架构?简单的介绍三层架构!
- Google Cloud API 验证
- polybase配置 sql_Hadoop 的 PolyBase 配置和安全
- android sqlite alert table,android sqlite数据库操作
- igs无法分配驱动器映射表_硬盘无法使用,用DiskPart进行分区和格式化,非常简单...
- asp.net web开发步骤_Web 系统安全性测试之会话管理测试
- 支持markdown的服务器,基于tornado实现的一个markdown解析服务器
- 【Elasticsearch】elasticsearch 段 segment 段合并
- 2023秋招大厂经典面试题及答案整理归纳(241-260)校招必看
- Windows实例通过IIS如何搭建多个FTP站点
- oracle weituxinxi,Oracle 语句记录
- Adversarial Generation of Continuous Images 阅读笔记
- Flutter 2.0 发布 | 针对 Web,移动端和桌面端构建的下一代 Flutter
- PA-项目转资基础篇
- c# winform打包单个exe文件
- Android 查看第三方应用进程的内存开销
- PS磨皮神器更新为Portraiture V3中文汉化版(仅64位) 。
- Django2.1遇到 app_label and isn't in an application in INSTALLED_APPS 错误
- mysql存储过程语法大全
- 242 剪刀包袱锤的方式决定谁请客
热门文章
- 开发vue用什么ide_VUE项目开发前期需要准备和配置些什么环境?
- python正则表达式数字开头_Python正则表达式总结
- SpringBoot+EHcache实现缓存
- pg函数同步数据到mysql_将数据从PostgreSQL复制到MySQL
- 蓝牙耳机声音一顿一顿的_这次让世界听听我们的声音——声阔SoundcoreLiberty2Pro蓝牙耳机...
- Win10 20H2正式发布,对比旧版新功能一览
- 服务器配置RAID5(3块硬盘做RAID5,另外再弄一块做数据冗余盘)
- margin 塌陷bug 触发bfc
- Jmeter(三)断言和关联
- 控制属性修改时间,控制时间,联合主键