Vue前端框架

一.Vue概述

*Vue 是一套前端框架,用于免除原生JavaScript中的DOM
操作,简化书写。


*基于MVVM(Model-View-ViewModel)思想,实现数据的双
向绑定,将编程的关注点放在数据上。


*官网: https://cn.vuejs.org/

二.Vue快速入门

1. 新建 HTML 页面,引入 Vue.js文件
2. 在JS代码区域,创建Vue核心对象,进行数据绑定
3. 编写视图:

新建 HTML 页面,引入 Vue.js文件:

<script
src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue
.js"></script> 引入网络中的vue文件
<script src="js/vue.js"></script> 引入本地中的vue
文件 , 使用本地即可!!!

在JS代码区域,创建Vue核心对象:

<script>
// 创建Vue实例
new Vue({
el:"#app", //Vue应用实例接管的区域是'#app'
data:{ //用来定义数据模型
username:"zhangsan"
},
methods:{ //用来定义函数
}
});
</script>

编写视图:

<div id="app">
<h1>Hello {{username}}</h1>
</div>

el的两种写法

//$mount() 方法手动将 Vue 组件挂载到 DOM 元素上。在 Vue
//3 中,通常通过 createApp().mount() 自动挂载,少数情况
//下需要手动挂载。
<body>
<div id="app">
<h1>Hello {{username}}</h1>
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
const vm=new Vue({
//el:"#app", //Vue应用实例接管的区域
是'#app'
data:{ //用来定义数据模型
username:"zhangsan"
},
methods:{ //用来定义函数
}
});
setTimeout(function(){
vm.$mount('#app');
},3000);
</script>
</body>

data的两种写法

<body>
<div id="app">
<h1>Hello {{username}}</h1>
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
const vm=new Vue({
el:"#app", //Vue应用实例接管的区域是'#app'
// data:{ //用来定义数据模型 对象式
// username:"zhangsan"
// },
// data:function(){ //函数式
// return{
// username:"zhangsan"
// }
// },
//函数式 简写
data(){
return{
username:"zhangsan"
}
},
methods:{ //用来定义函数
}
});
</script>
</body>

三.插值语法

形式:{{ . . . }}
内容可以是:
        变量:{{message}}
        算术运算:{{10 + 20}}
        三元表达式:{{message ? '有值':'没值'}}
        函数调用:{{message.toUpperCase()}}

作用:{{}}是Vue中定义的 插值表达式 ,在里面写数据模型,
到时候会将该模型的数据值展示在这个位置。且可以直接读取
到data中的所有属性

<body>
<div id="app">
<h1>Hello {{username}}</h1>
{{10+20}}
{{username=="zhangsan"?"真的":"假的"}}
{{username.toUpperCase()}}
{{getAge()}}
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
new Vue({
el:"#app", //Vue应用实例接管的区域是'#app'
data:{ //用来定义数据模型
username:"zhangsan"
},
methods:{ //用来定义函数
getAge:function(){
return 18;
}
}
});
</script>
</body>
四.Vue指令

4.1 指令介绍

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

4.2 v-bind 与 v-model

v-bind:

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

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

上面的v-bind:" 可以简化写成 : ,如下:

<!--
v-bind 可以省略
-->
<a :href="url">百度一下</a>

v-model:

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

<input type="text" v-model="username">

代码实现:

<body>
<div id="app">
<a href="https://www.baidu.com">百度一下</a>
<a v-bind:href="url1">京东官网</a>
<a :href="url2">小米官网</a>
<hr/>
<input type="text" v-model="username"/>
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
const vm=new Vue({
el:"#app",
data:{
url1:"https://www.jd.com",
url2:"https://www.mi.com",
username:"zhangsan"
},
methods:{
}
});
</script>
</body>

4.3 v-on:

我们在页面定义一个按钮,并给该按钮使用 v-on 指令绑定单
击事件,html代码如下

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

而使用 v-on 时还可以使用简化的写法,将 v-on:替换成 @,
html代码如下

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

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

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

代码实现:

<body>
<div id="app">
<input type="button" value="点我" v-on:click="method01()"/><br/>
<input type="button" value="点我试试"@click="method02()"/><br/>
<input type="button" value="不传参数"@click="method03"/><br/>
<input type="button" value="传递参数"@click="method04(10)"/>
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
const vm=new Vue({
el:"#app",
data:{
username:"zhangsan"
},
methods:{
method01:function(){
alert("点我");
},
method02:function(){
alert("点我试试");
},
method03:function(){
alert("不传参数");
},
method04:function(num){
alert(num);
},
}
});
</script>
</body>

4.4 v-if 与 v-show

v-if实例:

<body>
<div id="app">
<input type="text" v-model="money"/><br/>
当前用户的工资等级为: {{money}} , 当前用户为:
<span v-if="money>=0 && money<=10000">低收入</span>
<span v-else-if="money>10000 && money<20000">中收入</span>
<span v-else>高收入</span>
<hr/>
当前用户的工资等级为: {{money}} , 当前用户为:
<span v-show="money>=0 && money<=10000">低收入</span>
<span v-show="money>10000 && money<20000">中收入</span>
<span v-show="money>=20000">高收入</span>
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
const vm=new Vue({
el:"#app",
data:{
money:10000
},
methods:{
}
});
</script>
</body>

4.5 v-for

这个指令看到名字就知道是用来遍历的,该指令使用的格式如
下:

        语法:v-for = "(item,index) in items"
        参数:

        items 为遍历的数组
        item 为遍历出来的元素
        index 为索引/下标,从0开始 ;可以省略,省略index
        语法: v-for = "item in items"

实列:

<body>
<div id="app">
<p v-for="addr in address">{{addr}}</p>
<p v-for="(addr,index) in address">{{index+1}} : {{addr}}</p>
</div>
<script src="js/vue.js"></script>
<script>
// 创建Vue实例
const vm=new Vue({
el:"#app",
data:{
address:["北京","上海","广州","深圳"]
},
methods:{
}
});
</script>
</body>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/5093.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

软件设计师 7日速成

数据流图和数据字典 数据流图 定义 数据流图是一种图形化的工具&#xff0c;用于描述系统中数据的流动情况。它可以帮助我们可视化数据在系统中的处理过程&#xff0c;包括数据的来源、去向、存储位置以及处理方式。 组成元素 数据流图通常包含以下四个基本元素&#xff1…

基于 Vue3、Vite 和 TypeScript 实现开发环境下解决跨域问题,实现前后端数据传递

引言 本文介绍如何在开发环境下解决 Vite 前端&#xff08;端口 3000&#xff09;和后端&#xff08;端口 80&#xff09;之间的跨域问题&#xff1a; 在开发环境中&#xff0c;前端使用的 Vite 端口与后端端口不一致&#xff0c;会产生跨域错误提示&#xff1a; Access to X…

【Allure】allure装饰器函数

**allure装饰器**​作用&#xff1a;用于将测试用例的数据展示到测试报告中 1.需要将这些装饰器函数添加**测试方法或测试类的开头**。2.同一个类或者一个方法可以添加多个装饰器函数 &#xff0c;这样此用例就具有了个作用属性 。 allure.epic() 敏捷中的概念 项目名称 allu…

python验证码滑块图像识别

文章目录 1、案例图片1、需求说明2、代码实现总结 1、案例图片 1、需求说明 python 3.10,写一个滑块验证码的自动化程序。需要一个opencv的函数&#xff0c;能准确的计算&#xff0c;在这同一张图片上&#xff0c;滑块形状和缺口形状的坐标位置及两个形状之间在X轴上的距离。请…

Linux基础-常用操作命令详讲

Linux基础-常用操作命令详讲 一、openssl加密简单介绍 1. 生成加密的密码散列&#xff08;password hash&#xff09;​编辑 1.1 常见的选项总结表 1.2 加密参数详解 2. 自签名证书 3. 证书转换 二、文件管理 1. 创建空文件 ​编辑 2. 删除文件 4. 新建目录 ​编辑…

【RAG系列】KG-RAG 用最简单的方式将知识图谱引入RAG

目录 前言 一、引入知识图谱的作用 二、引入知识图谱的挑战 三、KG-RAG的理论 query多跳有限性 知识局部密集性 四、KG-RAG的方法 向量入库 向量相似搜索 扩展子图 LLM Rerank LLM response 五、效果比对 六、源码 总结 前言 本文介绍一种比较新颖的RAG范式&am…

编程语言越来越多,为什么C/C++还没有被现在的时代淘汰呢?

近年来&#xff0c;随着人工智能、大数据等领域的兴起&#xff0c;各种新兴编程语言层出不穷&#xff0c;例如Python、Go等&#xff0c;它们以更简洁的语法、更丰富的库以及更友好的开发体验&#xff0c;吸引了大量开发者。 在这样的背景下&#xff0c;不少人开始质疑C/C这类“…

Docling:开源的文档解析工具,支持多种格式的解析和转换,可与其他 AI 工具集成

❤️ 如果你也关注大模型与 AI 的发展现状&#xff0c;且对大模型应用开发非常感兴趣&#xff0c;我会快速跟你分享最新的感兴趣的 AI 应用和热点信息&#xff0c;也会不定期分享自己的想法和开源实例&#xff0c;欢迎关注我哦&#xff01; &#x1f966; 微信公众号&#xff…

学习笔记:Spring框架源码Part.2——核心

学习视频链接&#xff1a;https://www.bilibili.com/video/BV1zd4y1L7YD Spring学习笔记——核心 前言第三章 容器和上下文一、认识bean工厂1、基础能力2、更强的枚举能力3、灵活的分层能力4、构建和自动装配的能力5、更强的配置能力6、更多配置项7、工厂的生命周期 二、bean工…

linux守护进程与后台进程的区别

守护进程与后台进程有以下区别&#xff1a; 1. 概念与定义 后台进程&#xff1a; 是指在操作系统后台运行的进程&#xff0c;它不与用户直接交互&#xff08;没有连接到用户的终端&#xff09;。用户在终端中启动一个程序并让其在后台运行&#xff08;如通过在命令后加“&…

【360】基于springboot的志愿服务管理系统

摘 要 传统办法管理信息首先需要花费的时间比较多&#xff0c;其次数据出错率比较高&#xff0c;而且对错误的数据进行更改也比较困难&#xff0c;最后&#xff0c;检索数据费事费力。因此&#xff0c;在计算机上安装志愿服务管理系统软件来发挥其高效地信息处理的作用&#x…

【LLM Agents体验】Dify框架的安装指南

Dify简介&#xff1a; 核心功能‌12 ‌Dify是一款开源的大语言模型(LLM)应用开发平台&#xff0c;融合了后端即服务&#xff08;Backend as a Service, BaaS&#xff09;和LLMOps的理念&#xff0c;使开发者可以快速搭建生产级的生成式AI应用。LLMOps涵盖了大型语言模型的开发、…

TODO Error occurred while trying to proxy:【】

文章目录 场景异常解决 场景 使用 Ant Disign Pro 连接本地接口。 异常 Error occurred while trying to proxy: localhost:8000/api/login/account?token%20%20123[HPM] Error occurred while proxying request localhost:8000/api/login/account?token%20%20123 to http…

Linux 文件基本属性

1.Linux 文件基本属性 Linux 系统是一种典型的多用户系统&#xff0c;不同用户处于不同地位&#xff0c;拥有不同的权限。为了保护系统的安全性&#xff0c;Linux 系统对不同的用户访问同一文件&#xff08;包括目录文件&#xff09;的权限做了不同的规定。Linux 通常使用以下两…

数据结构-归并排序笔记

【数据结构】八大排序(超详解附动图源码)_数据结构排序-CSDN博客 看这个学思路 一 归并排序介绍: 归并排序(MERGE-SORT)是利用归并的思想实现的排序方法&#xff0c;该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归求解&#xf…

关于使用python pptx生成或“复制”PPT页面的问题

先说两个结论&#xff1a; 对于主题不完全相同的页面&#xff0c;pptx 无法完全复制PPT页面&#xff0c;文字图片可以复制&#xff0c;但是背景之类的无法复制pptx 无法直接在指定页码或者指定页面后插入页面 今天做项目的时候&#xff0c;需要根据PPT模板使用python生成相应…

Uniapp底部导航栏设置(附带PS填充图标教程)

首先需要注册和登录ifconfont官网&#xff0c;然后创建项目添加需要的图标 创建和添加图标库请参考&#xff1a;Uniapp在Vue环境中引入iconfont图标库&#xff08;详细教程&#xff09; 打开iconfont官网&#xff0c;找到之前添加的图标库&#xff0c;下载png图片 如果需要的…

算法——双指针

目录 前言一、什么是双指针二、算法特点三、算法实现步骤四、常见形式五、应用场景与示例六、优势与注意事项七、双指针算法动态图解八、经典例题[1. 回文判定](https://www.lanqiao.cn/problems/1371/learning/?page1&first_category_id1&name%E5%9B%9E%E6%96%87%E5%…

L6.【LeetCode笔记】合并两个有序链表

1.题目 https://leetcode.cn/problems/merge-two-sorted-lists/ 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&…

类的加载机制

一、类的生命周期 类从被加载到虚拟机内存中开始到卸载出内存为止&#xff0c;它的整个生命周期可以简单概括为 7 个阶段&#xff1a; 加载&#xff08;Loading&#xff09;验证&#xff08;Verification&#xff09;准备&#xff08;Preparation&#xff09;解析&#xff08…