文章目录

  • 第一个Vue程序
  • 判断if循环for
  • 事件绑定
  • 双向数据绑定
  • 组件学习
  • Axios异步通信
  • 计算属性

第一个Vue程序

在做一个项目,本打算用Thymeleaf模板引擎呢,但是由于前后端分离的热潮(还有昨天一个原因),让我不得不去学习Vue,话不多说,先创建一个普通的HTML文件,然后cdn导入vue

<script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>

直接上全代码吧

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><!--获取数据-->{{msg}}
</div><script>var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: { // data是数据msg: "hello vue"}});
</script></body>
</html>

直接运行即可

结果如下

判断if循环for

在程序中,有了判断和循环,跟后端交互就舒服了,在Vue里,都是以v-开头的,判断和循环也是如此

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><!--判断--><p v-if="ok">Yes</p><p v-else>No</p><p v-if="type==='A'">A</p><p v-else-if="type==='B'">B</p><p v-else>C</p>
</div><script>var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: {ok: true,type: 'A'}});
</script></body>
</html>

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><li v-for="item in items">{{item.name}}</li><li v-for="(item,index) in items">{{item.name}} {{item}} {{index}}</li>
</div><script>var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: {// 中括号是数组,花括号是对象items: [{'name': 'hzy'},{'name': 'lyf'},{'name': 'yy'}]}});
</script></body>
</html>

事件绑定

绑定事件,以点击事件为例,还是老规矩,以v-开头,绑定事件是v-on

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><!--用v-on绑定事件,这里绑定了点击事件--><button v-on:click="sayHi">点击</button>
</div><script>var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: {msg: 'hello method'},methods: { //方法必须定义到methods对象中sayHi: function () {alert(this.msg);}}});
</script></body>
</html>

双向数据绑定

什么是双向数据绑定,就是当表单中的数据发生变化时,data中的数据也发生变化,v-model

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><input v-model="msg">{{msg}}
</div><script>var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: {msg: '123'}});
</script></body>
</html>


组件学习

Vue的组件,其实也就是模板,就是把网站上公共的部分提取出来,像导航栏什么的

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><aaa></aaa><!-- v-bind绑定参数 --><bbb v-for="item in items" v-bind:hzy="item"></bbb>
</div><script>// 定义一个vue组件,组件也就是componentVue.component('aaa',{template: '<h1>hello template</h1>'});Vue.component('bbb',{// props属性用来传递参数props: ['hzy'],template: '<li>{{hzy}}</li>>'});var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: {items: ['java','vue','spring']}});
</script></body>
</html>

Axios异步通信

首先伪造一个data.json

{"age": 20,"code": 0,"url": "www.123","likes": {"name": "java","age": 2}
}

然后通过钩子函数进行axios网络通信,绑定data.json,并且将该数据响应给Vue对象里的data

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script><script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
</head>
<body>
<div id="vue">{{info.age}} <br><a v-bind:href="info.url">点击</a> <br>{{info.likes.name}}
</div><script>var vm = new Vue({el: "#vue",data() {return {info: { // 这里的属性值,要和json数据保持一致age: null,url: null,likes: {name: null,age: null}}}},mounted(){ // 钩子函数链式编程axios.get('data.json').then(response=>(this.info=response.data));}});
</script></body>
</html>

计算属性

computed,跟methods差不多,他是计算属性,能缓存

<!DOCTYPE html>
<html lang="en" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head><meta charset="UTF-8"><title>Title</title><script src="http://cdn.bootcss.com/vue/2.1.6/vue.min.js"></script>
</head>
<body>
<div id="app"><p>{{currentTime1()}}</p><p>{{currentTime2}}</p>
</div><script>var vm = new Vue({el: "#app", // 绑定元素,el是element的意思data: {msg: 'hello method'},methods: { //通过currentTime1()访问currentTime1: function () {return Date.now();}},computed: { // 计算属性,通过currentTime2访问,有缓存currentTime2: function () {return Date.now();}}});
</script></body>
</html>

Vue基本操作及运行截图总结相关推荐

  1. 基于SpringBoot+Vue的酒店管理系统(免费获取源码+项目介绍+运行介绍+运行截图+论文)

    技术架构 后端:SpringBoot+SpringMVC+Mybatis-Plus 前端:vue+ElementUI+HTML+js+css+jquery+Nginx 数据库:MySQL+Thymel ...

  2. HTML基本标签详解与运行截图

    Web前端基础修炼 HTML基本标签详解与运行截图 CSS基本操作详解及截图演示 JavaScript基础(ECMAScript) JavaScript中DOM操作 JavaScript中BOM操作 ...

  3. 一元多项式计算器 :加、减、乘运算【完整代码+运行截图+实验说明】

    原文链接 :https://blog.csdn.net/weixin_44119881/article/details/103717231 注意 [ 此套代码,有所缺陷 !!! ] 目   录 1.实 ...

  4. 解决 VUE: 本地运行和服务器上运行样式不一致,run、build 运行时样式有出入

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 我的情况: 我遇到 2 种情况,一个是表格的分页样式有变化.另一个是导航菜单样式有变化. 2. ...

  5. Vue.js 内部运行机制之总结 常见问题解答

    Vue.js 内部运行机制之总结 & 常见问题解答 总结 在本小册的第一节中,笔者对 Vue.js 内部运行机制做了一个全局的概览,当时通过下面这张图把 Vue.js 拆分成一个一个小模块来介 ...

  6. vue/cle3项目运行报错sockjs-node/info解决方案

    https://cloud.tencent.com/developer/article/1489598 vue/cle3项目运行报错sockjs-node/info解决方案 在这篇文章中: bug复现 ...

  7. uni-app(Vue.js)创建运行微信小程序

    uni-app(Vue.js)创建运行微信小程序 1.全局安装 npm install -g @vue/cli 需要安装node,官方网站,否则提示npm不可用 2.创建uni-app 新建文件夹,选 ...

  8. vue实现mp4视频截图

    vue实现mp4视频截图 需求:按帧数(时间)截取图片 /*** @description : 视频截图* @param {String} url : 视频地址* @param {Number} cu ...

  9. vue自定义配置运行run命令

    vue自定义配置运行run命令 1.vuecli3以下 package.json build/build.js webpack.prod.conf.js build/utils.js build/we ...

最新文章

  1. ubuntu 在线安装mysql_Ubuntu下安装MySQL5.6
  2. C#发现之旅第九讲 ASP.NET验证码技术
  3. 手动编译Java Web 的Hibernate的工程
  4. JavaScript中HTML的DOM
  5. java基础的第二轮快速学习!day03
  6. android开源2016_开源多样性努力在2016年获得动力
  7. matlab 正交特征向量,怎么对一个矩阵进行对称正交化?? matlab
  8. uniapp中利用监视vuex中state数据配合uview实现登录消息提示
  9. 普通索引和唯一索引,应该怎么选择?
  10. office 2007插入带圈字符
  11. anaconda下jupyter无法自动打开网页
  12. ABB机器人示教器修改IP
  13. iOS 中可能用到的数学公式(绝对值、平方、取整、正余弦)
  14. 关于在dialog中重置form表单失败的问题
  15. android将彩图转为黑白_android 将图片转换成黑白图片
  16. Anbox源码分析(三)——Anbox渲染原理(源码分析)
  17. 使用telnet命令,报错:无法打开主机的连接在端口23连接失败
  18. 7-139 手机话费 (10 分)
  19. 一起去追寻那大漠孤烟
  20. SELinux avc权限--audit2allow

热门文章

  1. mysql 索引扩展
  2. javascript encodeURI和encodeURIComponent的比较
  3. Linux用sendmail发信失败,提示Connection refused by [127.0.0.1]
  4. bowtie1和bowtie2的比较
  5. 谈谈软件工程与计算机科学的区别
  6. windows下,linux下elasticsearch安装插件marvel插件的步骤
  7. Spring @Autowired注解在非Controller注入为null,Springboot @Reference注入为null解决方案
  8. 04-10 swagger 接口管理体系
  9. R语言学堂开通付费咨询业务了~~
  10. c语言程序怎么打分数,用C语言编程平均分数