JavaWeb__VUE

news/2025/2/14 5:12:27/

文章目录

  • 概述
  • 快速入门
  • Vue指令
    • v-bind
    • v-model
    • v-on
    • 条件判断
    • v-for

概述

Vue是一套前端框架,免除原生JavaScript中的DOM操作,简化书写
基于MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上。
在这里插入图片描述
Model是数据,View是视图(页面标签),Model和View通过ViewModel进行双向绑定

快速入门

  1. 新建 HTML 页面,引入 Vue.js文件
<script src="js/vue.js"></script>
  1. 在JS代码区域,创建Vue核心对象,进行数据绑定
<script>new Vue({el: "#app",data() {return {username: ""}}});
</script>
  • el : 用来指定哪儿些标签受 Vue 管理。 该属性取值 #app 中的 app 需要是受管理的标签的id属性值
  • data :用来定义数据模型
  • methods :用来定义函数。
  1. 编写视图
<div id="app"><input name="username" v-model="username" >{{username}}
</div>

{{}} 是 Vue 中定义的 插值表达式 ,在里面写数据模型,到时候会将该模型的数据值展示在这个位置。

整体代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<div id="app"><input v-model="username"><!--插值表达式-->{{username}}
</div>
<!--注意这里很重要,必须要导入vue.js文件才行-->
<script src="js/vue.js"></script>
<script>//1. 创建Vue核心对象new Vue({el:"#app",data(){ // data() 是 ECMAScript 6 版本的新的写法return {username:""}}/*data: function () {return {username:""}}*/});
</script>
</body>
</html>

Vue指令

指令:HTML 标签上带有 v- 前缀的特殊属性,不同指令具有不同含义。例如:v-if,v-for…

指令作用
v-bind为HTML标签绑定属性值,如设置 href , css样式等
v-model在表单元素上创建双向数据绑定
v-on为HTML标签绑定事件
v-if条件性的渲染某元素,判定为true时渲染,否则不渲染
v-else
v-else-if
v-show根据条件展示某元素,区别在于切换的是display属性的值
v-for列表渲染,遍历容器的元素或者对象的属性

v-bind

该指令可以给标签原有属性绑定模型数据。这样模型数据发生变化,标签属性值也随之发生变化

<a v-bind:href="url">百度一下</a>

可以简化写成:

<a :href="url">百度一下</a>

v-model

该指令可以给表单项标签绑定模型数据。这样就能实现双向绑定效果。

<input name="username" v-model="username">

v-on

为html标签绑定事件

<input type="button" value="一个按钮" v-on:click="show()">

简化,将 v-on: 替换成 @:

<input type="button" value="一个按钮" @click="show()">

上面代码绑定的 show() 需要在 Vue 对象中的 methods 属性中定义出来

new Vue({el: "#app",methods: {show(){alert("我被点了");}}
});

条件判断

v-if,v-else,v-else-if
条件性的渲染某元素,判定为true时渲染,否则不渲染

//1. 创建Vue核心对象
new Vue({el:"#app",data(){return {count:3}}
});

当 count 模型的数据是3时,在页面上展示 div1 内容;当 count 模型的数据是4时,在页面上展示 div2 内
容; count 模型数据是其他值时,在页面上展示 div3 。这里为了动态改变模型数据 count 的值,再定义一个输入框绑定
count 模型数据

<div id="app"><div v-if="count == 3">div1</div><div v-else-if="count == 4">div2</div><div v-else>div3</div><hr><input v-model="count">
</div>

v-show:
如果模型数据 count 的值是3时,展示 div v-show 内容,否则不展示

<div v-show="count == 3">div v-show</div>
<br>
<input v-model="count">

v-for

列表渲染,遍历容器的元素或者对象的属性
格式如下:

<标签 v-for="变量名 in 集合模型数据">{{变量名}}
</标签>

如果在页面需要使用到集合模型数据的索引,就需要使用如下格式:

<标签 v-for="(变量名,索引变量) in 集合模型数据"><!--索引变量是从0开始,所以要表示序号的话,需要手动的加1-->{{索引变量 + 1}} {{变量名}}
</标签>

代码示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>for</title>
</head>
<body>
<div id="app"><div v-for="addr in addrs">{{addr}} <br></div><hr><div v-for="(addr,i) in addrs">{{i+1}}--{{addr}} <br></div>
</div>
<script src="vue.js"></script>
<script>//1. 创建Vue核心对象new Vue({el:"#app",data(){return {addrs:["北京","上海","西安"]}}});
</script>
</body>
</html>

http://www.ppmy.cn/news/364097.html

相关文章

笔记本内置扬声器三强PK

内置扬声器PK要点 外观设计差异。外表是否美观直接影响使用者的心情,扬声器的结构设计直接影响放音效果。 实际听音较量。利用真实的人耳感受则是最能体现扬声器实际效果的。 奥特蓝星:音质纯净,低音欠佳 代表机型:惠普,华硕部分笔记本 奥特蓝星扬声器被…

高清录播系统与流媒体服务器,来同品牌全高清录播系统方案

全高清录播系统方案集多媒体技术、网络流媒体技术、图像跟踪技术和自动控制技术于一体&#xff0c;将教师电脑讲稿信号、教师授课和师生互动场景以及课堂板书等进行智能化的跟踪切换录制&#xff0c;自动生成的课程资源。为用户提供了智能常态录播的建设和应用解决方案&#xf…

骨传导耳机比传统耳机更好吗,骨传导耳机发声原理科普

传统耳机是否会让你有以下这些烦恼&#xff1a; &#xff08;1&#xff09;户外运动时戴传统耳机听歌&#xff0c;听不到外界的声音十分不安全&#xff1b; &#xff08;2&#xff09;有线耳机容易乱&#xff0c;整理起来心情烦躁&#xff1b;头戴式耳机太重且不透气&#xf…

比较好的句子

I always knew looking back on the tears would make me laugh, but I never knew looking back on the laughs would make me cry. 我知道再回首时&#xff0c;那些眼泪想来可笑&#xff1b;却不知再回眸时&#xff0c;那些欢声笑语也能叫我潸然泪下。 生活中智慧无处不在…

开放式运动耳机哪个品牌比较好,适合运动佩戴的骨传导推荐

作为运动爱好者&#xff0c;各式各样的耳机也买过不少&#xff0c;综合对比下来最喜欢佩戴的还是骨传导耳机&#xff0c;骨传导耳机的优点大家多少都会有所听闻&#xff0c;佩戴使用时开放双耳&#xff0c;不堵塞耳朵&#xff0c;解决了入耳式耳机佩戴的不适感还能听到周围的环…

2022骨传导蓝牙耳机深度评测!骨传导耳机哪个牌子好?

由于现在骨传导耳级品牌越来越多的情况&#xff0c;好多人面对这错乱繁杂的骨传导耳机品牌往往都是挑花了眼也挑选不出一款合适自己并且好用的骨传导耳机。而作为测评过从几百元到上千元价格不等的骨传导耳机的我来说&#xff0c;不同价位的骨传导耳机给佩戴者带来的舒适度体验…

全球与中国汽车扩音器市场现状及未来发展趋势

【报告图表数】&#xff1a;150 【报告出版时间】&#xff1a;2021年12月 报告摘要 根据简乐尚博&#xff09;的统计及预测&#xff0c;2021年全球汽车扩音器市场销售额达到了37亿美元&#xff0c;预计2028年将达到44亿美元&#xff0c;年复合增长率&#xff08;CAGR&#xf…

华为OD机试真题 JavaScript 实现【Linux 发行版的数量】【2023Q1 100分】

一、题目描述 Linux 操作系统有多个发行版&#xff0c;distrowatch.com 提供了各个发行版的资料。这些发行版互相存在关联&#xff0c;例如 Ubuntu 基于 Debian 只开发而 Mint 又基于 Ubuntu 开发&#xff0c;那么我们认为 Mint 同 Debian 也存在关联。 发行版集是一个或多个…