当前位置: 首页 > news >正文

springboot和vue:八、vue快速入门

vue快速入门

新建一个html文件

导入 vue.js 的 script 脚本文件

<script src="https://unpkg.com/vue@next"></script>
  • 在页面中声明一个将要被 vue 所控制的 DOM 区域,既MVVM中的View
<div id="app">{{ message }}
</div>

创建 vm 实例对象(vue 实例对象)

const hello = {data : functiion(){return {message: 'Hello vue!'}}}
const app = Vue.createApp(hello)
app.mount('#app')

最终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://unpkg.com/vue@3"></script>
</head><body><div id="app">{{ message }}</div><script>Vue.createApp({data() {return {message: 'hello vue'}}}).mount('#app')</script>
</body></html>

注意ctrl+s保存。

最终页面

在这里插入图片描述

vue基础用法

内容渲染

需要额外注意的是链接标签的渲染除了双括号之外需要额外用v-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://unpkg.com/vue@3"></script>
</head><body><div id="app"><p>姓名:{{username}}</p><p v-html="desc"></p></div><script>const vm = {data: function () {return {username: 'zhangsan',desc: '<a href = "http://www.baidu.com">百度</a>'}}}const app = Vue.createApp(vm)app.mount('#app')</script>
</body></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://unpkg.com/vue@3"></script>
</head><body><div id="app"><a :href='link'>百度</a:href><input type="text" :placeholder="inputValue"><img :src="imgSrc" :style="{width:w}" alt=""></img:></div><script>const vm = {data: function () {return {link: "http://www.baidu.com",inputValue: '请输入内容',imgSrc: './images/1.jpg',w: '300px'}}}const app = Vue.createApp(vm)app.mount('#app')</script>
</body></html>

测试页面:

在这里插入图片描述

结合js表达式

<!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://unpkg.com/vue@3"></script>
</head><body><div id="app"><p>{{number+1}}</p><p>{{ok ? 'True' : 'False'}}</p><p>{{message.split('').reverse().join('')}}</p><p :id="'list-'+id"></p><p>{{user.name}}</p></div><script>const vm = {data: function () {return {number: 9,ok: false,message: 'ABC',id: 3,user: {name: "shanshan"}}}}const app = Vue.createApp(vm)app.mount('#app')</script>
</body></html>

在这里插入图片描述

事件绑定

可以使用v-on标签再加动作,也可以直接用@加动作
后面可以加方法,也可以直接写简单的函数。
两个按钮都可以实现+1的功能。

完整代码:

<!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://unpkg.com/vue@3"></script>
</head><body><div id="app"><h3>count的值:{{count}}</h3><button v-on:click="addCount">+1</button><button @click="count+=1">+1</button></div><script>const vm = {data: function () {return {count: 0}},methods: {addCount() {this.count += 1}}}const app = Vue.createApp(vm)app.mount('#app')</script>
</body></html>

条件渲染

只有表达式为真时,v-if才会真正地在dom树里创建出来。
无论表达式值为什么,v-show都会被创建出来,只是页面不一定显示。
完整代码

<!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://unpkg.com/vue@3"></script>
</head><body><div id="app"><button @click="flag = !flag">Toggle Flag</button><p v-if="flag">请求成功 --- 被v-if控制</p><p v-show="flag">请求成功 --- 被v-show控制</p></div><script>const vm = {data: function () {return {flag: false,}}}const app = Vue.createApp(vm)app.mount('#app')</script>
</body></html>

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

v-if和列表渲染

完整代码:

<!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://unpkg.com/vue@3"></script>
</head><body><div id="app"><p v-if="num>0.5">随机数>0.5</p><p v-else>随机数≤0.5</p><ul><li v-for="(user, i) in userList">索引是:{{i}}, 姓名是:{{user.name}}</li></ul></div><script>const vm = {data: function () {return {num: Math.random(),userList: [{ id: 1, name: 'zhangsan' },{ id: 2, name: 'lisi' },{ id: 3, name: 'wangwu' },]}}}const app = Vue.createApp(vm)app.mount('#app')</script>
</body></html>
http://www.lryc.cn/news/179481.html

相关文章:

  • docker-compose内网本地安装
  • ThreeJs的场景实现鼠标拖动旋转控制
  • jdk 管理工具比对 jEnv jabba SDKMAN
  • 华为云云耀云服务器L实例评测|部署在线图表和流程图绘制工具drawio
  • elementui引入弹出框报错:this.$alert is not defined 解决方案
  • docker的组件和资源管理
  • SEO的优化教程(百度SEO的介绍和优化)
  • Tomcat以及UDP
  • NLP 04(GRU)
  • BUUCTF reverse wp 51 - 55
  • WebGL笔记:使用鼠标绘制多个线条应用及绘制动感线性星座
  • nodejs+vue 汽车销售系统elementui
  • leetcode76 Minimum Window Substring
  • 简单工厂模式~
  • 基于Java的会员管理系统设计与实现(源码+lw+部署文档+讲解等)
  • 数据结构 图 并查集 遍历方法 最短路径算法 最小生成树算法 简易代码实现
  • idea Springboot 教师标识管理系统开发mysql数据库web结构java编程计算机网页源码maven项目
  • 2023-9-30 JZ36 二叉搜索树与双向链表
  • 在windows的ubuntu LTS中安装及使用EZ-InSAR进行InSAR数据处理
  • 腾讯mini项目-【指标监控服务重构】2023-08-25
  • 数据挖掘(1)概述
  • YApi Pro
  • AUTOSAR RTE介绍(更新版230925)
  • 深度学习笔记_1、定义神经网络
  • 【Java 进阶篇】MySQL 事务详解
  • Spring修炼之旅(3)自动装配与注解开发
  • 嵌入式Linux应用开发-基础知识-第十六章GPIO和Pinctrl子系统的使用
  • Ubuntu系统下使用apt-get安装Mysql8
  • jenkins联动显示或隐藏参数
  • Error: Activity class {xxx.java} does not exist