VUE基本使用详解

目录

 

一、VUE框架原理

1. 了解VUE框架

2. VUE框架原理

3. MVC设计模式

4. MVVM设计模式

二、引入VUE框架

1. 本地引入

2. 网络引入

三、安装Vue插件


一、VUE框架原理

1. 了解VUE框架

        vue 框架 是基于MVVM设计模式的前端框架,其中的Vue对象是MVVM设计模式中的VM视图模型。

2. VUE框架原理

        Vue对象将页面中 要改变的元素 和 data中变量 进行绑定,绑定后它会一直监听data中变量值的改变,当值发生改变时,会自动找到与其绑定的元素并且让元素跟着发生改变,改变元素的过程不需要人工干预,提高了开发效率,而且这个过程不需要像 JavaScript 那样频繁DOM操作去改变页面结构,只是监听一片区域,提高了执行效率。

3. MVC设计模式

把一个业务实现分成三部分:

Model:模型,数据模型 是服务器获取到数据的部分代码

View:视图,页面部分代码

Controller:控制器,把数据模型中的数据,通过实现 展示到页面中

        有一个缺点,需要频繁DOM操作,对文档对象模型,频繁全部扫描,如果页面内容多,扫描效率低

4. MVVM设计模式

Model:模型,数据模型 是服务器获取到数据的部分代码

View:视图,页面部分代码

VM:视图模型,它会将页面可能发生改变的元素和变量进行绑定,当变量改变时 元素的值也会改变,不需要频繁扫描,提高了效率和用户体验。

二、引入VUE框架

1. 本地引入

把框架文件下载到本地 通过 JS外部引入中用本地连接 导入实现。

<script src="js/vue.min.js"></script>
 
 

 

2. 网络引入

从服务器直接引入项目,通过 JS外部引入中用网络路径 导入实现

<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
 
 

三、安装Vue插件

File -> Settings -> Plugins 搜索Vue ,安装完之后重启idea

  1. 文本相关
    {{变量}}:插值,定义在标签里,让此处文本内容和变量进行绑定

v-text=“变量” :定义在标签中,让元素的文本内容和变量进行绑定

v-html=“变量”:定义在标签中,让元素的标签内容和变量进行绑定

<body>
<div>
  <!--{{变量}}:插值,让此处显示的文本和变量进行绑定-->
  {{info}}<b>{{info}}</b>
  <h1>{{info}}</h1>
  <!--v-text 让元素的文本内容和变量进行绑定,必须依赖某个标签-->
  <p v-text="info"></p>
  <!--v-html让元素的标签内容和变量进行绑定-->
  <p v-html="info"></p>
</div>
<script src="vue.min.js"></script>
<script>
  new Vue({
    el:"div",
    data:{
      info:"文本<b>加粗</b>"
    }
  })
</script>
</body>
  1. 属性绑定
    让元素 属性的值 和 变量进行 单向绑定,当属性值发生变化 变量也发生改变

结构:

v-bind:属性名=“变量”;

或 :属性名=“变量”;

<body>
<div>
    <!--:属性名=变量 让元素的属性和变量进行绑定-->
    <input type="text" :value="info">
    <input type="text" v-bind:value="info">
    <a :href="url">超链接</a>
    <img :src="imageName" alt="">
</div>
<!--引入网络版的Vue框架 Vue插件才会正常工作-->
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
<script>
    new Vue({
        el: "div",
        data: {
            info: "属性绑定",
            url:"http://www.baidu.com",
            imageName:"head.jpg"
        }
    })
</script>
</body>
  1. 双向绑定
    定义在标签中,让控件的value值和变量进行双向绑定,变量影响页面 同时页面的改动也会影响变

结构:v-model=“变量”

<body>
<div>
    <!--v-model="变量"让控件的value值和变量进行双向绑定,变量影响页面 同时页面的改动也会影响变量-->
    <input type="text" v-model="info">
    {{info}}
    <h1>注册表单</h1>
    <form action="">
        用户名:<input type="text" v-model="user.username"><br>
        密码:<input type="password" v-model="user.password"><br>
    </form>
</div>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
<script>
    let v = new Vue({
        el: "div",
        data: {
            info: "双向绑定",
            user:{
                username: "",
                password: ""
            }
 
        }
    })
</script>
</body>
  1. 事件绑定
    绑定元素的事件,当条件满足触发时,会触发方法

如:点击事件(鼠标点击时触发):v-on:click=“方法” 或 @click=“方法”

<div>
    <input type="button" value="按钮1" @click="f()">
    <input type="button" value="按钮2" v-on:click="f()">
</div>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
<script>
    let v = new Vue({
        el: "div",
        data: {},
        methods: {
            f: function () {
                console.log("按钮点击了");
            }
        }
    })
</script>
</body>
  1. 遍历
    让元素显示数量和数组进行绑定,变量数组中每一个对象

结构:v-for=“(变量,i) in 数组变量” — i 是下标

<body>
<table border="1">
  <caption>汽车列表</caption>
  <tr>
    <th>编号</th><th>品牌名称</th><th>售价</th><th>类型</th>
  </tr>
    <tr v-for="(car,i) in arr">
        <td>{{i+1}}</td>
        <td>{{car.name}}</td>
        <td>{{car.price}}</td>
        <td>{{car.type}}</td>
    </tr>
</table>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
<script>
    let v = new Vue({
        el:"table",
        data:{
            arr:[{name:"比亚迪汉",price:250000,type:"轿车"},
                {name:"特斯拉m3",price:230000,type:"轿车"},
                {name:"蔚来ES8",price:550000,type:"SUV"}]
        }
    })
</script>
</body>
  1. 判断
    让元素的显示状态和变量进行绑定,结果为 true显示,false不显示

结构:v-if = ”变量“ 和 v-else

<body>
<div>
  <!--v-if="变量" 让元素是否显示和变量进行绑定, true显示 false不显示(删除了元素)-->
  <h1 v-if="isVisible">刘德华</h1>
  <!--v-else和v-if结合使用 和上面条件取反-->
  <h1 v-else>张学友</h1>
</div>
<script src="https://lf3-cdn-tos.bytecdntp.com/cdn/expire-1-M/vue/2.6.14/vue.min.js"></script>
<script>
  let v = new Vue({
    el:"div",
    data:{
      isVisible:true
    }
  })
</script>
</body>

总结:
Vue.js 是一个流行的前端 JavaScript 框架,它被设计用于构建单页面应用程序(Single Page Application,SPA)及开发大型复杂 Web 应用。

响应式数据:Vue.js 中的数据对象可以双向绑定,当数据发生变化时,视图也会跟着更新。这种响应式的数据绑定,使开发者可以轻松构建动态交互效果。

组件化开发:Vue.js 将应用程序拆分成多个小组件,每个组件都可以包含自己的 HTML、CSS 和 JavaScript 代码,并且组件之间可以嵌套和通信。这种组件化的开发方式,使得代码可重用性更高,同时提高了应用程序的可维护性和可扩展性。

轻量级框架:Vue.js 只关注视图层,不依赖于任何其他库或框架。相比于 Angular 和 React,Vue.js 更加轻量级,同时也更容易上手和学习。

插件式架构:Vue.js 提供了众多的插件,比如 vue-router、vuex 等,可以轻松地集成到应用程序中,提供更多的功能和特性。

服务端渲染:Vue.js 2.0 版本提供了服务端渲染的支持,使得应用程序可以更好地进行 SEO(Search Engine Optimization,搜索引擎优化)。

社区支持:Vue.js 拥有一个庞大的社区,提供了丰富的文档、教程和开源项目,使得开发者可以快速地入门和开发出高质量的应用程序。

总的来说,Vue.js 是一个功能强大、易于使用的前端框架,它具有响应式数据、组件化开发、插件式架构、服务端渲染等众多特性,广泛应用于 Web 开发领域。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Zebec Protocol 出席香港 Web3 峰会,带来了哪些信息?

梳理香港加密新政的细节&#xff0c;一个明确的脉络是&#xff0c;香港加密新政的整体目的是令虚拟资产交易明确化和合法化&#xff0c;通过不断完善的监管框架&#xff0c;促进香港虚拟资产行业的可持续和负责任地发展。 在加强合规和持牌经营的监管思路下&#xff0c;长期审慎…

TensorFlow 和 Keras 应用开发入门:1~4 全

原文&#xff1a;Beginning Application Development with TensorFlow and Keras 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形…

《简化iOS APP上架流程,App Uploader助你搞定!》

转载&#xff1a;Appuploader常见问题 Appuploader 常见错误及解决方法 问题解决秘籍 遇到问题&#xff0c;第一个请登录苹果开发者官网 检查一遍账号是否有权限&#xff0c;是否被停用&#xff0c;是否过期&#xff0c;是否有协议需要同意&#xff0c;并且在右上角切换账号后…

页表结构详细说明

一、页表 1. 内存地址的分解 我们知道linux采用了分页机制&#xff0c;通常采用四级页表&#xff0c;页全局目录(PGD)&#xff0c;页上级目录(PUD)&#xff0c;页中间目录(PMD)&#xff0c;页表(PTE)。如下&#xff1a; 其含义定义在arch/arm64/include/asm/pgtable-hwdef.…

HCIP-6.9BGP路由反射器原理与配置

路由反射器原理与配置 1、路由反射器概念1.1、路由反射器原理&#xff1a;1.2、多集群路由反射器1.3、备份路由反射器2、路由反射器配置3、路由反射器防环机制 1、路由反射器概念 IBGP的水平分割&#xff0c;IBGP 1只能update一跳&#xff0c;就是说在IBGP 2 设备收到IBGP 1设…

密码学|DES加密算法|学习记录

DES简介 DES属于对称密码算法中的分组加密算法 密钥一共64bit&#xff0c;其中56位参与运算&#xff0c;其余8bit为校验位&#xff08;8 16 24 32 40 48 56 64&#xff09; n个64位明块经过加密后得到的n个64位密文块加在一起就是密文 DES一般步骤 IP置换 &#xff1a; IP置…

Python中的异常——概述和基本语法

Python中的异常——概述和基本语法 摘要&#xff1a;Python中的异常是指在程序运行时发生的错误情况&#xff0c;包括但不限于除数为0、访问未定义变量、数据类型错误等。异常处理机制是Python提供的一种解决这些错误的方法&#xff0c;我们可以使用try/except语句来捕获异常并…

AI已经解锁自动化能力 | 颠覆商业模式和劳动力市场

AI已经解锁自动化能力&#xff0c;将颠覆商业模式和劳动力市场。目前AutoGPT的开源项目&#xff1a; BabyAGI、Auto-GPT、AgentGPT、TeenagerAGI、Jarvis。 AutoGPT原理&#xff1a; 3个GPT4协同合作&#xff0c;一个GPT4负责分解目标创建任务&#xff0c;另一个GPT4负责分配…

C# switch case语句入门and业务必知点

具体的语法形式如下。 switch(表达式) { case 值 1: 语句块 1; break; case 值 2: 语句块 2; break; ... default: 语句块 n; break; } 在这里&#xff0c;switch 语句中表达式的结果必须是整型、字符串…

Linux用户的分类与家目录,ls、pwd、cd、mkdir、touch、rmdir、rm指令与选项等

Linux中用户的分类与用户的家目录 在Linux当中&#xff0c;用户的分类只分为两类&#xff0c;一类叫做超级用户root&#xff0c;还有就是其他也就是传说中的普通用户。我们刚刚登进去时&#xff0c;默认所处的目录是***/root或者/home/用户名***&#xff0c;比如说/root, /hom…

Unity InputSystem (一)

什么是InputSystem InputSystem 是 2019 年 Unity 新推出的插件&#xff0c;输入系统包实现了一个系统来使用任何类型的输入设备来控制你的 Unity 内容。它旨在成为 Unity 的经典输入管理器更强大、更灵活、更可配置的替代品。 新输入系统基于事件&#xff0c;输入设备和动作逻…

信安大佬真的用kali吗?

Kali只是现在网络安全和kali比较火的一个操作系统 下面我为大家讲讲kali系统都有那些优点 Kali介绍Kali Linux是基于Debian的Linux发行版&#xff0c; 设计用于数字取证操作系统。面向专业的渗透测试和安全审计。 集成化&#xff1a;预装超过300个渗透测试工具兼容好&#x…

【JavaEE】File、InputStream和OutputStream的使用

1.File 在计算机中目录结构如下&#xff1a; 而File就表示一个目录或者一个普通文件。 File表示目录&#xff1a; File表示普通文件&#xff1a; 我们先来看File的构造方法&#xff1a; 构造器描述File(File parent, String child)根据父目录 孩子文件路径&#xff0c;创…

ROS学习第九节——服务通信

1.基本介绍 服务通信较之于话题通信更简单些&#xff0c;理论模型如下图所示&#xff0c;该模型中涉及到三个角色: ROS master(管理者)Server(服务端)Client(客户端) ROS Master 负责保管 Server 和 Client 注册的信息&#xff0c;并匹配话题相同的 Server 与 Client &#…

如何在不丢失数据的情况下重装Windows 10?

为什么需要重新安装Windows 10&#xff1f; 随着时间的推移&#xff0c;Windows可能会变慢。这可能是由多种原因引起的&#xff0c;例如您安装了许多额外的启动程序&#xff0c;这些程序会延长启动过程等。如果您的Windows系统速度变慢并且无论您卸载多少程序都没有加速&…

Pixhawk基础—认识Pixhawk

Pixhawk简介 pixhawk是由3DR联合APM小组与PX4小组于2014年推出的飞控PX4的升级版&#xff0c;它同时拥有PX4和APM两套固件和相应的地面站软件。该飞控是目前全世界飞控产品中硬件规格最高的产品。 Pixhawk基础 端口介绍 1、Spektrum DSM receiver(Spektrum DSM信号转换为PWM…

PXE+Kickstart自动化安装操作系统

文章目录 PXEKickstart 完美自动化部署系统理论知识&#xff1a;1、PXE2、DHCP 实践实验&#xff1a;1、DHCP服务器配置2、TFTP服务器配置3、HTTP服务器安装4、PXE配置5、Kickstart实践配置 PXEKickstart 完美自动化部署系统 理论知识&#xff1a; 无人值守原理&#xff1a;K…

思科实验 EIGRP

1.1.1 实验目的 通过对 CCNA 课程中的 EIGRP 实验部分进行回顾&#xff0c;从而更加准确掌握 EIGRP 路由协议的 配置方法&#xff0c;以及对 network 命令的正确理解。并且学会对 EIGRP 路由协议查看排错的相关命 令。 1.1.2 实验拓扑 拓扑说明&#xff1a;本实验由两台思科路…

第七章 法律行为与法律意识

目录 第一节 法律行为 一、 法律行为的含义与特征二、 法律行为的结构 &#xff08;一&#xff09;法律行为的内在方面 动机目的认知能力 &#xff08;二&#xff09;法律行为的外在方面 行动&#xff08;行为&#xff09;手段结果 三、法律行为的分类 第二节 法律意识 一、法…

Qt Quick - PageIndicator

Q 理论使用总结 一、概述二、简单使用例子1. SwipeView 和 PageIndicator2. StackLayout 和 PageIndicator 三、常用属性四、定制化 一、概述 PageIndicator用于指示含有多个页面的容器中&#xff0c;当前处理活动的页。记住&#xff0c;这个只是指示当前的活动页&#xff0c;…