Vue基本知识

news/2024/7/10 0:18:30 标签: vue.js, 前端, javascript, vue

Vue

Web三大框架之一。 Vue、React、Angular

Vue基础

现阶段,Vue已经有3个大版本:

Vue1 淘汰。

Vue2 过渡期,逐步转向Vue3。

Vue3 官方主推版本,以后主流。

vue2的官方文档:Vue.js

使用Vue开发web应用的编程方式

传统的DOM操作或jquery的开发方式,如果需要操作dom,例如:

javascript"><div id="user">欢迎:<span id="name">亮亮</span></div>
$('#user').text('欢迎:小新')
$('#name').text('张三')

vue操作Dom的方式,如下:

javascript"><div id="#app">欢迎:{{name}}</div>
<div id="#app">欢迎:{{name}}</div>
<div id="#app">欢迎:{{name}}</div>
<div id="#app">欢迎:{{name}}</div>
<div id="#app">欢迎:{{name}}</div>
new Vue({
    el: '#app',
    data: {
        name: '亮亮'
    }
})
第一个vue案例,写一个电影详情页。

准备好一个电影详情信息,在页面中展示出来。

  1. 准备一个html页面,01_movie.html。 下载并引入vue.js>vue.js。

  2. 编写代码,基于vue声明式渲染语法,完成详情信息的展示。

Vue中的插值语法 {{}}
<span>{{js表达式}}</span>

在js表达式中可以直接访问vue的data中声明的变量,也可以进行数据的运算、方法的调用。

Vue在背后做了大量的工作,通过声明式的语法在data中声明变量,这些变量将于页面中引用该变量的dom元素建立关联,一旦建立好这个关联关系,data中定义的这些变量将会具备响应式的特点。(一旦data中的变量值有变化,vue将会操作关联的dom元素自动更新;不需要程序员找到某一个DOM元素,然后手动更新)。

Object.defineProperties。

Vue的事件处理

Vue中为元素绑定事件的方式

javascript"><div id="app">
    <!-- vue1的写法 -->
    <button v-on:click="doClick()">按钮</button>  
    <!-- vue2的写法 -->
    <button @click="sum">sum</button>
    <button @click="sum()">sum()</button>
    <button @click="sum(5, 8)">sum(5, 8)</button>
    <button @click="doClick">换一部电影(Vue)</button>    
</div>
new Vue({
    data: {},
    methods: {
        doClick(){
            console.log('click...')         
        }
    }
})

当通过@click="sum"语法绑定事件时,在执行sum方法的同时,vue将会自动的传入一个参数:事件对象。

Vue中元素属性的动态绑定

javascript"><img src="http://xxx.com/1.jpg" title="">
<a href="http://www.baidu.com">链接</a>
<input type="password" readonly  disabled  placeholder="">

在平时vue页面开发中,元素的属性有修改的需求时,就需要实现元素属性的动态绑定。意味着将元素的属性与data中声明的变量建立关联,那么当需要修改属性时,只需要修改data中相应的变量即可。语法如下:

javascript"><!-- vue1的版本 -->
<img v-bind:src="url"> 
<!-- vue2的版本 -->
<img :src="url">
<input type="text" placeholder="输入密码"><button>小眼睛</button>
​
<!-- 野的写法 -->
<img :src="'http://www.xxx.com/'+name">
<img :src="`http://www.xxx.com/${name}`">
<img :src="`http://www.xxx.com/${n}.jpg`">
data: {
    url: 'http://www.xxx.com/1.jpg',
    name: '1.jpg',
    n: 1
}

Vue中元素样式的动态绑定

在页面中为元素添加css样式的方式,主要有两种:

javascript">.c1 {color:red; }
.c2 {color:blue; }
<div class="c1">文本</div>
<div style="color:red;">文本</div>
动态修改class类名
javascript"><div :class="className">文本</div>
<div :class="`tab ${i==0?'active':''}`">介绍</div>
​
<!-- Vue提供了一种使用对象来动态修改class的语法 -->
<div :class="{tab:true, active:i==0}">介绍</div>
data: {
    i: 0,
    className: 'c1'
}
动态修改标签的style
javascript"><div :style="`color: ${c};`">文本</div>
<div :style="{ color:c, border:'1px solid black;' }">文本</div>
data: {
    c: 'red'
}

Vue中的常用指令

vue管理的dom元素中,如果发现dom元素身上有v-开头的属性,将会把这些属性当做是vue指令来处理。 指令的属性值会被vue当做是javascript代码段来解释执行。不同的指令有不同的功能:

  1. v-on 用于绑定事件

    javascript"><button v-on:click="doClick"></button>
  2. v-bind 用于动态绑定属性

    javascript"><img v-bind:src="url">
  3. v-show 用于动态显示或隐藏当前元素

    javascript"><div v-show="show"></div>


http://www.niftyadmin.cn/n/5197187.html

相关文章

IP地址的分包与组包:网络通信的关键技术解析

在计算机网络中&#xff0c;IP地址的分包与组包是网络通信过程中关键的技术环节&#xff0c;分别涉及将数据拆分为适当大小的包以及在接收端重新组装这些包的过程。这两个过程对于确保高效、可靠的数据传输至关重要。以下将深入探讨IP地址的分包与组包的概念、原理以及在网络通…

全国的科技创新情况数据分享,涵盖2020-2022年三年情况

随着国家对科技创新的重视和大力支持&#xff0c;全国的科技创新情况越来越受到关注。 我们根据中国城市统计年鉴的这方面指标&#xff0c;分析汇总得出全国科技创新情况数据&#xff0c;需要说明的是&#xff0c;由于统计年鉴指标调整&#xff0c;每一年的数据并非字段相同&a…

android实现使用wps打开word

private fun startAppWithPackageNameAndClassName(packageName: String, className: String) { //根据包名获取启动首页的intent 这个intent有可能为空val intent Intent()intent.addCategory(Intent.CATEGORY_DEFAULT)intent.setClassName(packageName, className)i…

BGP笔记实验

IGP(Interior Gateway Protocol)——内部网关协议 OSPF RIP IS-IS IGRP EIGRP EGP(External Gateway Protocol)——外部网关协议 EGP BGP——边界网关协议 AS——自治系统 由单一组织or机构独立维护的网络设备&网络资源的集合 网络范围太大 自治 AS号 为了区分不同…

RHCSA --- Linux存储管理

存储管理 Boot&#xff1a;可引导操作系统的分区&#xff08;必须是主分区&#xff09; 分区 ll /dev/nvme0n* 表示的是 nvme接口的磁盘 0n1 1 0n2 2 0n3 3 brw-rw----. 1 root disk 259, 0 Nov 15 19:31 /dev/nvme0n1 磁盘1 brw-rw----. 1 ro…

Vue 实现 Hover 功能( mouseover 与 mouseenter 的区别)

一、mouseover 和 mouseenter 的区别 1.mouseover&#xff1a;当鼠标移入元素或其子元素都会触发事件&#xff0c;所以有一个重复触发&#xff0c;冒泡过程。对应的移除事件是 mouseout 2.mouseenter:当鼠标移入元素本身&#xff08;不包含元素的子元素&#xff09;会触发事件…

AutoSAR CANIF层配置代码分析

CAN物理控制单元 配置&#xff1a; 生成的代码&#xff1a; CanIf_CtrlStates 解析 类型&#xff1a; typedef union CanIf_CtrlStatesUTag {CanIf_CtrlStatesType raw[3];CanIf_CtrlStatesStructSType str; }CanIf_CtrlStatesUType;typedef struct sCanIf_CtrlStatesType {C…

采集1688整店商品(店铺所有商品、店铺列表api)

返回数据&#xff1a; 请求链接 {"user": [],"items": {"item": [{"num_iid": "738354436678","title": "国产正品i13 promax全网通5G安卓智能手机源头厂家批发手机","pic_url": "http…