vue入门(一)搭建vue项目,基础显示,指令

news2024/11/17 20:24:28

之前接触过vue,但是一直不是十分清晰,学的云里雾里,最近打算再次系统的整理一下,重新入门。还是根据vue官方文档一步一步的来,但是是属于简化的那种,会把我的学习过程都记录下来。
1.vue项目的搭建:
首先我是建了一个新的文件夹,然后用vscode打开这个文件夹,在vscode中可以直接打开终端-新建终端输入命令行:

npm init vue@latest

这一步会下载create-vue进来并且给你新建好项目,新建好了之后就根据他的提示继续输入绿色的这几个命令:
在这里插入图片描述
run好了之后打开它给你的网址,就可以打开你的第一个vue项目
下面开始写内容

2.vue入门开发

首先了解一下首页是怎么打开的,我们在文件中看到一个很熟悉的index.html,这里面只有一个div和一个main.js的引用

那么这个div里面放了什么呢,去main.js看一下
在这里插入图片描述

这三个框出来的就是使现在你打开这个项目,首页能显示出来东西的原因
下面介绍一下这三句话

import App from './App.vue' 

这句话的作用是,把App.vue引入到这个js里面来,并给这个组件起名叫App

const app = createApp(App)

然后创建一个App的应用实例,就相当于给App这个类声明了一个新对象叫app

app.mount('#app')   //挂载应用

最后把这个对象放在页面上,这个#app也就是index.html里面的那个div
也就是说,如果想在页面上放一个xxx.vue进来,就要经历这三步
然后官网又说,如果你不想引入xxx.vue进来,也可以自己写,写法就是,在main.js里createApp的时候,自己写一个

const app = createApp({
    data(){
        return {
            count:0
        }
    }
})

这个代码的意思就是说,把一个叫count的东西返回给html了,html可以用{{}}的写法去调:

<div id="app"><button @click="count++">{{ count }}</button></div>

但是我在实操的时候这个按钮并没有显示出来,页面渲染完它就消失了,这个问题在于,count的声明并不在index.html里,而在外部挂载的js里,我想到以前做vue的时候,对于不同页面传参是有其他的写法的,所以我把这个button放在了我的test.vue里,并把data也放过去,这样就可以正常显示的

在这里插入图片描述
放在一个vue文件里,是最基础的实现方法,之后会再进阶

3.给vue传变量:这个跟刚才的用法是一样的,再重复一遍,方便记忆
最简单的传字符串:在test.vue里:

<script>
export default {
  data() {
    return {
      msg: 'Hello World!'
    }
  }
}
</script>

<template>
    <div>是我
        <span>Message: {{ msg }}</span>
    </div>
</template>

4.指令用法
1)v-html
vue把自己定义的一些属性称为指令,这些指令都是放在html的标签里,用来渲染元素,如下:

<span v-html="rawHtml"></span>

这里的v-html就是一个指令,rawHtml是一个data,意思是,rawHtml里面的字符是html,请按照html格式给我显示出来
rawHtml也可以写死,把内容直接写进去也是可以的
2)v-bind

<div v-bind:id="dynamicId"></div>

这个v-bind也是一个指令,意思就是绑定,然后因为它太常用了,vue贴心的给了我们一个语法糖,可以省略掉v-bind,直接写:

<div :id="dynamicId"></div>

这里的dynamicId也是data里的一个属性,也就说,除了html显示的内容可以用data来控制,html本身的属性也是可以用data来控制的,比如disabled之类

<button :disabled="isDisabled" @click="count++">{{ count }}</button>

值得一提的是,这种属性也是可以放在一块绑定的,比如你想给这个标签加好几个属性,可以都放在data的一个属性里,然后一次绑定:

<script>
export default {
  data() {
    return {
      dynamicId:{
        id:'IamId',
        class:'IamClass'
      },
    }
  }
}
</script>

绑定的时候直接用v-bind:

<div v-bind="dynamicId"></div>

显示的时候就会把id和class都绑定上:
在这里插入图片描述
3)v-if:控制是否渲染,如果值为false,页面上就不创建这个元素,注意,是连渲染都不渲染哦!根本没有dom元素,而不是控制显示
4)v-on:绑定事件:

<a v-on:click="doSomething"> ... </a>

<!-- 简写 -->
<a @click="doSomething"> ... </a>

还有一个用法,就是指令的名字也可以动态用data处理:

<a v-on:[eventName]="doSomething"> ... </a>

eventName同样是data里的一个属性,但是经过实测,这样绑定的事件就不会绑定到dom上,应该是vue框架里自己实现的
在这里插入图片描述

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

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

相关文章

linux、window跨平台的用vs编程

跨平台的用vs编程 准备 创建linux的console程序 工具 – 选项&#xff0c;找到跨平台 连接linux的服务 注意&#xff0c;需要在linux系统那边配置以下的命令 sudo apt install build-essential 验证编译器是否被成功安装 gcc --versionsudo apt install openssh-server …

基于stm32 的简单的智慧农业系统, 有上位机,有下位机

1. 实现的功能 1. 下位机&#xff08;stm32&#xff09; (keil 5 ) 1. 按键key1 中断控制 LED 3 的亮灭 2. 按键key2 中断控制 温湿度的获取&#xff0c; &#xff08;数据通过串口发送给 上位机&#xff09; 3. 智能检测温湿度是否超标&#xff0c; &#xff08;超标 开启警…

el-dialog实现拖拽功能示例代码

element UI中dialog组件经常会用到&#xff0c;如果能让其任意拖拽放到不同的位置就更好了&#xff0c;实现方法如下&#xff1a; dialogDraggable.js代码&#xff1a; import Vue from vue // v-dialogDrag: 弹窗拖拽 Vue.directive(dialogDrag, { bind(el, binding, vno…

【再学Tensorflow2】TensorFlow2的层次结构

TensorFlow2的层次结构Tensorflow的层次结构Tensorflow的低阶API示例线性回归模型准备数据定义模型训练模型DNN二分类模型准备数据定义模型训练模型Tensorflow的中阶API示例线性回归模型DNN二分类模型Tensorflow的高阶API示例线性回归模型定义模型训练模型DNN二分类模型定义模型…

微信小程序开发实战10_1 小程序支付业务介绍

移动支付已成大多数消费者日常使用的支付方式之一。移动支付拥有操作简单方便、无需带现金或银行卡&#xff0c;不用找零&#xff0c;目前超过四分之三的用户都在使用移动支付。小程序应用作为一个广泛使用的移动应用&#xff0c;自然也不会放弃移动支付这个大的蛋糕。本章将介…

opencv文件介绍

build&#xff1a;存放.h.hpp.lib文件 bin .dll etc&#xff1a;存放训练好的分类器&#xff0c;用于人脸识别 include&#xff1a;所有的头文件 opencv2 • calib3d&#xff1a;相机校准、姿态估计和三维重建 • core&#xff1a;核心功能模块 • dnn&#xff1a;深度学习模块…

docker(6):Docker网络

目录docker网络介绍docker网络模式常用命令docker网络原理自定义网络实战&#xff1a;redis主从部署docker网络介绍 实际只要我们启动docker&#xff0c;那么主机上就会产生一个名字为docker0的虚拟网桥。它在内核层连通了其他的物理或虚拟网卡&#xff0c;这就将所有容器和本…

【Apifox】Apifox导入knife4j文档

文章目录手动导入自动导入手动导入 在浏览器中打开knife4j文档地址&#xff0c;并按F12打开控制台&#xff1a; 复制api-docs这个接口的请求地址。打开Apifox >> 项目设置 >> 导入数据&#xff08;手动导入&#xff09; >> URL导入 >> 把接口的请求地…

蔚来汽车李斌与黑客的数据战争!

‍‍数据智能产业创新服务媒体——聚焦数智 改变商业全面拥抱数字化的浪潮早已袭来&#xff0c;但数据的安全性也成为各行各业关注的焦点。近日&#xff0c;蔚来汽车用户数据遭泄露引发热议。针对此次事件&#xff0c;蔚来先后由其官方、创始人李斌及相关负责人卢龙三次致歉&a…

从数据分析,看公司员工流失率分析报告

一、概述&#xff1a; 1、员工离职和员工流失率的概念&#xff1a; 员工离职&#xff1a;员工被辞退及辞职、不续签的情况 员工流失率&#xff08;离职率&#xff09;&#xff1a;公司离职的员工人数/&#xff08;入职人数最初原有人数&#xff09;*100% 例如&#xff1a;月…

Spring Cloud 介绍及负载均衡Ribbon、服务容错Hystrix 组件使用详解

Spring Cloud 概述 官网 简介 Spring Cloud是一个基于 Spring Boot实现的微服务架构开发框架。它为微服务架构中涉及的配置管理、服务治理、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。 Spring Clou…

linux 生成火焰图

1. 火焰图简介 火焰图&#xff08;flame graph&#xff09;是性能分析的利器&#xff0c;通过它可以快速定位性能瓶颈点。 perf 命令&#xff08;performance 的缩写&#xff09;是 Linux 系统原生提供的性能分析工具&#xff0c;会返回 CPU 正在执行的函数名以及调用栈&#…

前瞻 2023年加密行业会更难吗?欧科云链研究院“七大趋势预测”

回望2022&#xff0c;加密行业遭遇了种种不可控因素而导致的艰难险阻&#xff0c;也在变革与发展中孕育着生机与活力。 这一年&#xff0c;我们亲眼目睹了Luna暴雷&#xff0c;三箭资本、FTX这些曾经被认为“大而不倒”的机构接连倒下&#xff0c;市场信心严重受挫&#xff1b;…

量子计算(十八):量子计算机

文章目录 量子计算机 一、量子计算机整体架构 1、量子计算的定位&#xff1a;异构计算 2、量子程序代码构成&#xff1a;宿主代码设备代码 二、量子程序架构&#xff08;设备代码的架构&#xff09; 1、量子高级语言 2、量子汇编语言的编译原则 3、不可直接执行的量子比…

当产业互联网时代来临,显著的特点就在于互联网技术不再是主导

事实上&#xff0c;以往&#xff0c;我们所经历的那个互联网玩家频出的年代&#xff0c;其实就是一个以互联网技术为主导的年代。在那样一个年代里&#xff0c;互联网技术几乎是解决一切痛点和难题的万能解药&#xff0c;几乎是破解一切行业痛点和难题的杀手锏。任何一个行业&a…

特斯拉超级充电突破1万桩 充电比加油更方便

12月26日&#xff0c;特斯拉中国大陆第1万个超级充电桩落户上海东方明珠脚下&#xff0c;成为我国新能源汽车整车品牌中屈指可数拥有“万级”大功率直流充电网络的企业&#xff0c;助力中国“新基建”再上高峰&#xff0c;也为中国“双碳”目标的达成再添“电力”。至此&#x…

SpringBoot+VUE前后端分离项目学习笔记 - 【01 环境配置以及VUE2集成ElementUI】

技术栈一览 SpringBoot2 Vue2 ElementUI Axios Hutool Mysql Echarts 所需软件环境 版本一览 JDK 1.8Mysql5.7Node 14.16.0navicatIdea 2021 Vue-cli 安装 npm install -g vue/cli 查看版本 创建VUE工程 初始化工程 vue create vue 选择Manually select feature…

PLDI‘21-Path-Sensitive Sparse Analysis without Path Conditions-基于程序依赖图的路径敏感稀疏分析

这篇文章是港科大团队在PLDI 2021会议上发表的文章。在这之前&#xff0c;作者在PLDI 2018发表Pinpoint。这篇文章在Pinpoint上改进。在Pinpoint的设计中&#xff0c;存储摘要的时候仍然需要缓存大量的路径条件&#xff0c;以及在应用摘要时进行大量的克隆&#xff0c;导致逻辑…

Memtiter-benchmark源码解析1client类功能解析

client类功能解析 client.h m_event_base 为libevent loop 的事件循环类 define MAIN_CONNECTION m_connections[0] client.cpp client 构造函数初始化 client.cpp Line 55 conn 构造一个新对象 connect()函数 从m_config中读取出服务器ip地址和端口&#xff0c;通过sc->…

利用mAP评估目标检测模型

在本文[1]中&#xff0c;我们将了解如何使用 precision 和召回率来计算平均精度 (mAP)。mAP 将真实边界框与检测到的框进行比较并返回分数。分数越高&#xff0c;模型的检测越准确。 之前我们详细研究了混淆矩阵、模型准确性、精确度和召回率。我们也使用 Scikit-learn 库来计算…