Web前端之NodeJS、Vue

news2024/11/27 2:17:05

文章目录

  • 一、Babel转码器
      • 1.1 Babel安装流程
      • 1.2 Babel命令行转码
  • 二、Promise对象
  • 三、测试方式
  • 四、Vue(渐进式JS框架)
      • 4.1 准备
      • 4.2 创建一个项目
      • 4.3 运行一个项目
  • 五、模板语法
      • 5.1 文本
      • 5.2 原始html
      • 5.3 属性Attribute
      • 5.4 使用JavaScript表达式
  • 六、条件渲染
      • 6.1 v-if
      • 6.2 v-else
      • 6.3 v-show
  • 七、事件处理
      • 7.1 v-on指令
      • 7.2 事件处理方法
      • 7.3 内联处理器中的方法,可以直接叫他事件传递参数
  • 八、表单输入绑定
      • 8.1 修饰符 .lazy
      • 8.2 .trim
  • 九、组件基础
      • 9.1 单文件组件
      • 9.2 加载组件


一、Babel转码器

Babel 是一个广泛使用的 ES6 转码器,可以将 ES 代码转为 ES5 代码,从而在老版本的浏览器执行。这意味着,你可以用 ES6的方式编写程序,又不用担心现有环境是否支持。
转码实例

//转码前
input.map(item=>item+1);
//转码后
input.map(function(item){
	return item+1;
	});

1.1 Babel安装流程

第一步

npm install --save-dev @babel/core

第二步,配置文件.babelrc
Babel的配置文件是.babelrc,存放在项目的根目录下。使用Babel的第一步,就是配置这个文件。该文件用来设置转码规则和插件,基本格式下:

{
	"presets": [],
	"plugins": []
}

第三步,转码规则
presets字段设定转码规则,

npm install --save-dev @babel/preset-env

第四步,将规则加入.babelrc

{
	"presets": [
		"@babel/env"],
	"plugins": []
}

1.2 Babel命令行转码

Babel提供命令行工具@babel/cli,用于命令行转码

npm install --save-dev @babel/cli

基本用法如下

转码结果写入一个文件
–out-file或-o参数指定输出文件
$ npx babel|example.js --out-file compiled.js
或者
npx babel example.js -o compiled.js

整个目录转码
–out-diir或-d 参数指定输出目录
$npx babel src --out-dir lib
或者
$ npx babel src -d lib

二、Promise对象

它是一个对象,它可以获取异步操作的消息,提供统一的API,各种异步操作都可以用同样的方法处理。

基本用法

const promise =new Promise(function(resolve,reject){
	//some code
	if(/*异步操作*/)
		resolve(value);
		}
		else{
		reject(error);
		}
});

Promise 构造函数接受个函数作为参数,该函数的两个参数分别是 resolve 和 reject 。它们是两个函数,由avaScript 引擎提供,不用自己部署
Promise 实例生成以后,可以用 then 方法分别指定resolved 状态和 rejected 状态的回调函数

promise.then(function(value){
	//success
},function(error){
	//failure
	});

三、测试方式

第一步:全局安装npm install -g babel-cli
第二步:安装babel-preset-env npm install -D babel-preset-env
第三步:运行代码 babel-node --presets env index.js

四、Vue(渐进式JS框架)

4.1 准备

Vue cLI Vue.is 开发的标准工具,,Vue cLI 是一个基于 Vue.is 进行快速开发的完整系统

npm install -g @vue/cli

安装之后,可以在 命令行中访问vue命令。验证是否安装成功。

vue --version

4.2 创建一个项目

vue create vue-demo

注意
vue-demo不准大写,必须小写

进入文件后,右键,出现下图
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 运行一个项目

第一步:进入项目根目录 cd vue-demo
第二步:运行npm run serve启动项目

五、模板语法

assets存放静态资源图片。
components存放组件文件。

5.1 文本

数据绑定最常见的形式就是使用“{{}}”语法的文本插值

<span>Message:{{ msg }}</span>

一般配合js中的data()设置数据

export default{
	name: "Helloworld",
	data(){
		return {
			msg:"消息提示"
				}
			}
		}	

5.2 原始html

双大括号会将数据解释为普通文本,而非html代码,为了输出真正的html,需要用v-html指令。

<P>Using mustaches: {{ rawHtml }} </p>
<p>Using v-html directive: <span v-html="rawHtml"></span></p>
data(){
	return{
		rawHtml:"<a href='https://www.klyingshi.com'>影视</a>"
		}
	}

5.3 属性Attribute

Mustache语法不能在HTML属性中使用,然而,可以用v-bind指令

<div v-bind:id="dynamicId"></div>
data(){
	return{
		dynamicId:1001
		}
	}

5.4 使用JavaScript表达式

在模板中,一直都只绑定简单的【人品【erty键值,Vue.js都提供了完全的JS表达式

{{ number + 1 }
{{ ok ? 'yes' : 'no' }}
{{ message.split(' ').reverse().join('') }}

这个表达式会在当前活动实例的数据作用域下作为JS被解析,每个绑定都只能包含单个表达式,所以下面的例子不会生效

<!-- 这是语句,不是表达式 -->
{{ var a=1 }}

<!-- 流程控制也不会生效,请使用三元表达式-->
{{ if(ok) {return message} }}

六、条件渲染

6.1 v-if

v-if指令用于条件性地渲染一块内容,这块儿内容只会在指令地表达式返回true值得时候被渲染。

<p v-if='flag'>尝试一下</p>
data(){
	return{
		flag:true
		}
	}

6.2 v-else

用此指令表示v-if的else块

<p v-if="flag">这是第一个</p>
<p v-else>这是第二个</p>
data(){
	return {
		flag:false
		}
	}

6.3 v-show

展示元素

<h1 v-show="ok" >Hello</h1>

七、事件处理

7.1 v-on指令

(通常缩写为@符号)来监听DOM事件,并在触发事件时执行一些JS,用法为v-on:click="methodName"或使用快捷方式@click="methodName"

<button @click="counter +=1">Add 1</button>
data(){
	return{
		counter: 0
		}
	}

7.2 事件处理方法

<button @click="greet">Greet</button>
methods:{
	greet(event){
		if(event){
			alert(event.target.tagName)
			}
		}
	}

7.3 内联处理器中的方法,可以直接叫他事件传递参数

<button @click="hi">hi</button>
<button @click="what">what</button>
methods:{	
	say(message){
		alert(message)
		}
	}

八、表单输入绑定

可以用 v-model 指令在表单<input><textarea><select> 元素上创建双向数据绑定。它会根据控件类型自动选取正确的方法来更新元素。尽管有些神奇,但 v-model 本质上不过是语法糖。它负责监听用户的输入事件来更新数据,并在某种极端场景下进行一些特殊处理

<input v-model="message" placeholder="edit me"/>
<p>Message is:{{ message}}</p>

8.1 修饰符 .lazy

在默认情况下,v-model 在每次 input 事件触发后将输入的值与数据进行同步。你可以添加 lazy 修饰符,从而转为在 change 事件之后进行同步

<input v-model.lazy="message"/>
<p>message is {{message}}</p>
data(){
	return {
		message:""
		}
	}	

8.2 .trim

如果要自动过滤用户输入的首尾空白字符,可以给v-model添加trim修饰符

<input v-model.trim="message"/>
data(){
	return{
		message:""
		}
	}	

九、组件基础

9.1 单文件组件

Vue 单文件组件(又名vue 文件,缩写为 SFC)是一种特殊的文件格式,它允许将 Vue 组件的模板、逻辑
与样式封装在单个文件中

<tempIate>
	<h3>单文件组件</h3>
</tempIate>
<script>
export default {
	name:"MyComponent“"
}
</script>
<style scoped>
	h3{
	color: red;
}
</style>

9.2 加载组件

第一步:引入组件import MyComponentVue from '/components/MyComponent.vue'
第二步:挂载组件components: ({MyComponentVue }
第三步:显示组件<my-componentVue />

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

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

相关文章

数据结构与算法基础-学习-28-图之拓扑排序

一、相关概念 名称描述有向无环图无环的有向图&#xff0c;简称DAG图&#xff08;Directed Acycline Graph&#xff09;,通常用来描述一个工程或系统的进行过程。AOV网用一个有向图表示一个工程的各子工程及其相互制约的关系&#xff0c;其中顶点表示活动&#xff0c;弧表示活…

paddleseg数据集自定义比例划分为测试集test.txt,训练集train.txt,验证集val.txt

将语义分割的数据集标注好后如下所示&#xff1a; 整理好图片和标签文后需要按照比例划分为训练集&#xff0c;验证集&#xff0c;测试集。 具体划分代码见下&#xff1a; import glob import os.path import argparse import warnings import numpy as npdef parse_args():p…

数组对象去重的几种方法

场景&#xff1a; let arrObj [{ name: "小红", id: 1 },{ name: "小橙", id: 1 },{ name: "小黄", id: 4 },{ name: "小绿", id: 3 },{ name: "小青", id: 1 },{ name: "小蓝", id: 4 } ]; 方法一&#xff1a;…

Leetcode.1289 下降路径最小和 II

题目链接 Leetcode.1289 下降路径最小和 II rating : 1697 题目描述 给你一个 n x n 整数矩阵 g r i d grid grid &#xff0c;请你返回 非零偏移下降路径 数字和的最小值。 非零偏移下降路径 定义为&#xff1a;从 g r i d grid grid 数组中的每一行选择一个数字&#xff…

matplotlib/seaborn 笔记:mpld3 让图像可交互

只需要一行代码 mpld3.display()/mpld3.enable_notebook() 即可让 matplotlib/sdeaborn画的图有交互性 import numpy as np import matplotlib.pyplot as plt import mpld3xnp.random.random(1000) ynp.random.random(1000)plt.hist2d(x,y,bins(100,100)) mpld3.enable_noteboo…

国产芯力特SIT1024QHG四通道本地互联网络(LIN)收发器,可替代TJA1024HG

SIT1024Q 是一款四通道本地互联网络&#xff08;LIN&#xff09;物理层收发器&#xff0c;符合 LIN 2.0、LIN 2.1、LIN 2.2、 LIN 2.2A 、 ISO 17987-4:2016 (12V) 和 SAE J2602 标准。主要适用于使用 1kbps 至 20kbps 传输速 率的车载网络。 SIT1024Q 通过 TXDx 引…

聊聊低代码的本质,是应用开发的未来吗?

聊聊低代码的本质&#xff0c;是应用开发的未来吗&#xff1f; 一、前言 二、什么是低代码以及功能特点&#xff1f; 什么是低代码开发&#xff1f; 低代码平台的特点和功能 三、低代码的本质是什么&#xff1f; 四、优秀且低调的低代码平台 五、结论 一、前言 低代码开发是近年…

当管理多个项目面临这些挑战时,怎样才能不翻车?

企业越发展&#xff0c;同时进行的项目就越多。管理工作量、跟踪截止日期以及了解优先顺序也变得更复杂了。在此过程中&#xff0c;多项目管理通常面临4个常见挑战。 1. 优先事项不明确或相互冲突 无论你的项目计划多么严谨&#xff0c;事情也不可能总是按照预期进行。在管理单…

3年测试经验,用例设计竟然不知道状态迁移法?

1、概念 状态迁移法主要关注在测试状态转移的正确性上面。对于一个有限状态机&#xff0c;通过测试验证其在给定的条件内是否能够产生需要的状态变化&#xff0c;有没有不可达的状态和非法的状态&#xff0c;是否可能产生非法的状态转移等。通过构造能导致状态迁移的事件&…

动力节点Redis7实战教程,从基础到底层一套通关

Redis是一种非常强大的数据缓存和存储系统&#xff0c;既可以用作关系型数据库的缓存降低查询延迟&#xff0c;也可以作为一个分布式系统的共享数据存储。 动力节点的Redis7课程将带领大家完整的学习Redis7.0版本&#xff0c;内容涵盖Redis全套知识体系&#xff0c;由浅入深 总…

如何把视频转换成gif图片?gif图片在线制作教程

是不是许多朋友认为将视频转换为gif动画需要使用非常复杂的工具&#xff0c;事实上只需要使用gif图片在线制作工具&#xff0c;就可以轻松把视频转gif&#xff0c;下面是视频在线转gif&#xff08;https://www.gif.cn&#xff09;的详细操作步骤。 打开首页&#xff0c;点击【…

shopify独立站运营操作步骤?如何经营管理?

如何进行shopify独立站运营流程?shopify的自主网站管理过程? 在如今数字化的商业世界中&#xff0c;建立和管理自己的在线商店变得越来越重要。shopify独立站运营成为了许多创业者的首选。本文将为您介绍一些关键的操作步骤&#xff0c;帮助您顺利开展shopify独立站运营&…

SOLIDWORKS工程图修订表关联PDM

日常工作中图纸设计变更需要修订表去记录变更的内容信息&#xff0c;修订表格可以列出各种信息&#xff0c;例如审批人员或已更改图纸上的位置。所有修订表都将包含更改的详细信息或描述以及更改发布日期。 SOLIDWORKS PDM 2018 版及以上版本可由SOLIDWORKS PDM 中的工作流驱动…

lc15.三数之和

暴力解法&#xff1a;三层for循环&#xff0c;每个循环指向一个变量&#xff0c;求所有的和为零的情况 时间复杂度&#xff1a;O(n3) 空间复杂度&#xff1a;O(1) 双指针 1、对数组进行排序 2、外层循环控制第一个数 i&#xff1b;第一个数的范围必须保证小于等于0&#xf…

嘉楠勘智k230开发板上手记录(五)--nncase部署yolov5s

虽然没有找到hhb的官方示例&#xff0c;但是我找到了nncase的&#xff0c;在src/big/nncase/examples中 一、环境搭建 examples也有个readme&#xff0c;不过里面的环境搭建跟sdk中的有点差别&#xff0c;不过大差不差&#xff0c;docker容器已经启动了&#xff0c;需要在容器…

python 书籍

python高手进阶之路 10册 QQ:417398600

通过SunFlower学习Hilt基本使用

文章目录 添加hilt配置数据库自动注入常规kotlin 规范创建AppDatabase、表、查询封装Dao创建DatabaseModule&#xff0c;向外提供数据库访问方法InstallIn和Provider上Scope关系PlantRepository 使用 PlantDaoViewModel使用PlantRepositoryFragment声明需要进行注入sunflower 仓…

藏语翻译器:多功能翻译软件

这是是一款能够将藏语翻译成其他语言或将其他语言翻译成藏语的软件。该软件能够识别并翻译藏语中的常用词汇和短语&#xff0c;并且支持多种常见语言的翻译&#xff0c;例如英语、汉语、法语、德语等等。此外&#xff0c;藏语翻译器还具有简单易用的用户界面&#xff0c;方便用…

ASEMI快恢复二极管APT60DQ20BG参数规格

编辑-Z APT60DQ20BG参数描述&#xff1a; 型号&#xff1a;APT60DQ20BG 最大峰值反向电压(VRRM)&#xff1a;200V 最大直流阻断电压VR(DC)&#xff1a;200V 平均整流正向电流(IF)&#xff1a;60A 非重复峰值浪涌电流(IFSM)&#xff1a;300A 工作接点温度和储存温度(TJ, …