当前位置: 首页 > news >正文

Web前端之NodeJS、Vue

文章目录

  • 一、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 codeif(/*异步操作*/)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 />

相关文章:

Web前端之NodeJS、Vue

文章目录 一、Babel转码器1.1 Babel安装流程1.2 Babel命令行转码 二、Promise对象三、测试方式四、Vue&#xff08;渐进式JS框架&#xff09;4.1 准备4.2 创建一个项目4.3 运行一个项目 五、模板语法5.1 文本5.2 原始html5.3 属性Attribute5.4 使用JavaScript表达式 六、条件渲…...

冠达管理:银行定增是利好还是利空?

银行定增是指银行经过向特定投资者定向发行股票的方法进行增发。这种方法被认为可认为银行提供本钱充足、拓展融资渠道、增强抵挡危险的才能。但是&#xff0c;关于银行定增是否对商场和投资者带来积极影响的讨论一向存在。本文将从多个角度进行剖析&#xff0c;以讨论银行定增…...

背上小书包准备run之TypeScript篇

这TypeScript我真不知道面试会咋问。。。 哦以前还写过一篇基础⬇️ Typescript 基础易理解-------冲冲冲_ts和js有什么区别_慢谷的博客-CSDN博客 typescript是啥&#xff1f;与javascript的区别&#xff1f; TypeScript是一个强类型的JavaScript超集&#xff0c;可编译为纯…...

什么是绩效管理?绩效管理包括哪些内容?

阅读本文您可以了解&#xff1a;1、绩效管理的定义&#xff1b;2、绩效管理的内容&#xff1b; 一、什么是绩效管理 绩效管理是一种组织和管理方法&#xff0c;旨在确保员工的工作与组织的目标保持一致&#xff0c;以及激励和提高员工的工作表现。它涉及设定明确的目标和标准&…...

Java基础练习八(二维数组)

1.装水问题 有一个 异形 容器&#xff0c;用一个 n * n 的二维数组来表示。其中 1 表示容器实心部分&#xff0c; 0 表示空心部分。现使用此容器装水&#xff0c;能装多少水&#xff08;每个元素都表示一份水&#xff0c;只有有挡板的部分能装水&#xff09;&#xff1f; publi…...

Biopython序列比对

从InterPro网站&#xff08;https://www.ebi.ac.uk/interpro/download/Pfam/&#xff09;下载多序列比对文件Pfam-A.seed.gz&#xff08;含多个多序列比对&#xff09; ​wget https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.seed.gz解压&#xff0c;取第一…...

无法坚持运动?解密肠道菌群影响运动积极性

谷禾健康 运动可以说是最有效和可行的生活方式因素&#xff0c;个人可以利用它来保护自己免受各种疾病的侵害&#xff0c;包括代谢性、心血管、神经退行性和肿瘤性疾病。 世界卫生组织建议&#xff0c;每周进行150-300分钟的中等强度运动。 运动的好处具体不用多说了&#xff0…...

4-5-tablewidget

文章目录 添加控件&#xff0c;添加行列数widget.cppwidget.h效果 添加控件&#xff0c;添加行列数 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this)…...

前端基础第一天-html-综合案例

通过综合案例&#xff0c;主要复习&#xff1a; 目录文件夹今日所学标签路径锚点链接 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initia…...

PDF Expert 3.3 for mac

PDF Expert是一款专业的PDF编辑和阅读工具。它可以帮助用户在Mac、iPad和iPhone等设备上查看、注释、编辑、填写和签署PDF文档。 以下是PDF Expert的特点&#xff1a; PDF编辑&#xff1a;PDF Expert提供了丰富的PDF编辑功能&#xff0c;包括添加、删除、移动、旋转、缩放、裁…...

【腾讯云 Cloud Studio 实战训练营】深度体验 | 使用腾讯云 Cloud Studio 快速构建 Vue + Vite 完成律师 H5 页面

【腾讯云 Cloud Studio 实战训练营】深度体验 | 使用腾讯云 Cloud Studio 快速构建 Vue Vite 完成律师 H5 页面 写在前面的话一、腾讯云 Cloud Studio 介绍1.1 Cloud Studio 应用场景1.2 Cloud Studio 开发优势 二、沉浸式体验开发快速构建 H5 页面2.1 注册与登录 Cloud Studi…...

Word转PDF在线转换如何操作?分享转换技巧

现如今&#xff0c;pdf转换器已成为大家日常办公学习必不可少的工具&#xff0c;市场上的pdf转换器主要有两种类型&#xff0c;一种是需要下载安装的&#xff0c;另一种是网页版&#xff0c;打开就可以使用的&#xff0c;今天小编给大家推荐一个非常好用的网页版pdf转换器&…...

只需5步 真·双开电脑版微信

最近发现&#xff0c;有些小伙伴不仅有双开手机版微信的需求&#xff0c;同时也有电脑版的需求。 今天教大家一个方法&#xff0c;简单好用&#xff0c;只需要跟着图片操作&#xff0c;5步即可&#xff01;快一起来试试吧~ 1.下载安装ProcessExplorer 2.右键以管理员身份运行…...

如何将JSON字符串转化成对象

在这里只能使用ObjiectMapper这个类才能将Json字符串转成对象的格式进行输出 话不多说,直接上代码 实体类 //实体类 Setter Getter public class UserInfo implements Serializable {private Long id;private String name; //昵称private String phone; //手机转换代码 St…...

计算机网络 运输层 UDP和TCP对比

...

Zebec Protocol 将进军尼泊尔市场,通过 Zebec Card 推动该地区金融平等

流支付正在成为一种全新的支付形态&#xff0c;Zebec Protocol作为流支付的主要推崇者&#xff0c;正在积极的推动该支付方案向更广泛的应用场景拓展。目前&#xff0c;Zebec Protocol成功的将流支付应用在薪酬支付领域&#xff0c;并通过收购WageLink将其纳入旗下&#xff0c;…...

stm32项目(8)——基于stm32的智能家居设计

目录 一.功能设计 二.演示视频 三.硬件选择 1.单片机 2.红外遥控 3.红外探测模块 4.光敏电阻模块 5.温湿度检测模块 6.风扇模块 7.舵机 8.WIFI模块 9.LED和蜂鸣器 10.火焰传感器 11.气体传感器 四.程序设计 1.连线方式 2.注意事项 3.主程序代码 五.课题意义…...

边缘计算:连接智能世界的变革之力

随着物联网和人工智能的迅猛发展&#xff0c;边缘计算作为一种新兴的计算模式正受到越来越多的关注。边缘计算将数据处理和分析的能力从云端向网络的边缘推移&#xff0c;为各行各业带来了巨大的机遇和挑战。本文将探讨边缘计算的定义、应用领域以及对未来智能世界的影响。 1.…...

多货币多汇率跨境电子商城建设(仓储管理、网络安全)

多货币多汇率跨境电子商城建设需要考虑到多个方面&#xff0c;包括仓储管理、网络安全、货币兑换、物流配送等。以下是具体的介绍&#xff1a; 一、仓储管理 仓储管理是跨境电子商城的重要组成部分&#xff0c;需要考虑到商品的存储、管理和分拣等环节。以下是需要注意的几个…...

笔记,ubuntu22安装header问题

描述&#xff1a; 需要/lib/modules/5.15.0-53-generic 安装linux-headers-5.15.0-53-generic_5.15.0-53.59_20.04.1_amd64.deb提示 Package libssl1.1 is not installed.&#xff0c;机器上只有libssl3.0&#xff0c;最后强制安装&#xff0c;并且打了快照&#xff0c;防止重…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

【AI学习】三、AI算法中的向量

在人工智能&#xff08;AI&#xff09;算法中&#xff0c;向量&#xff08;Vector&#xff09;是一种将现实世界中的数据&#xff08;如图像、文本、音频等&#xff09;转化为计算机可处理的数值型特征表示的工具。它是连接人类认知&#xff08;如语义、视觉特征&#xff09;与…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

如何应对敏捷转型中的团队阻力

应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中&#xff0c;明确沟通敏捷转型目的尤为关键&#xff0c;团队成员只有清晰理解转型背后的原因和利益&#xff0c;才能降低对变化的…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...