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(渐进式JS框架)4.1 准备4.2 创建一个项目4.3 运行一个项目 五、模板语法5.1 文本5.2 原始html5.3 属性Attribute5.4 使用JavaScript表达式 六、条件渲…...

冠达管理:银行定增是利好还是利空?
银行定增是指银行经过向特定投资者定向发行股票的方法进行增发。这种方法被认为可认为银行提供本钱充足、拓展融资渠道、增强抵挡危险的才能。但是,关于银行定增是否对商场和投资者带来积极影响的讨论一向存在。本文将从多个角度进行剖析,以讨论银行定增…...
背上小书包准备run之TypeScript篇
这TypeScript我真不知道面试会咋问。。。 哦以前还写过一篇基础⬇️ Typescript 基础易理解-------冲冲冲_ts和js有什么区别_慢谷的博客-CSDN博客 typescript是啥?与javascript的区别? TypeScript是一个强类型的JavaScript超集,可编译为纯…...

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

Java基础练习八(二维数组)
1.装水问题 有一个 异形 容器,用一个 n * n 的二维数组来表示。其中 1 表示容器实心部分, 0 表示空心部分。现使用此容器装水,能装多少水(每个元素都表示一份水,只有有挡板的部分能装水)? publi…...
Biopython序列比对
从InterPro网站(https://www.ebi.ac.uk/interpro/download/Pfam/)下载多序列比对文件Pfam-A.seed.gz(含多个多序列比对) wget https://ftp.ebi.ac.uk/pub/databases/Pfam/current_release/Pfam-A.seed.gz解压,取第一…...

无法坚持运动?解密肠道菌群影响运动积极性
谷禾健康 运动可以说是最有效和可行的生活方式因素,个人可以利用它来保护自己免受各种疾病的侵害,包括代谢性、心血管、神经退行性和肿瘤性疾病。 世界卫生组织建议,每周进行150-300分钟的中等强度运动。 运动的好处具体不用多说了࿰…...

4-5-tablewidget
文章目录 添加控件,添加行列数widget.cppwidget.h效果 添加控件,添加行列数 widget.cpp #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget) {ui->setupUi(this)…...
前端基础第一天-html-综合案例
通过综合案例,主要复习: 目录文件夹今日所学标签路径锚点链接 <!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的特点: PDF编辑:PDF Expert提供了丰富的PDF编辑功能,包括添加、删除、移动、旋转、缩放、裁…...

【腾讯云 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在线转换如何操作?分享转换技巧
现如今,pdf转换器已成为大家日常办公学习必不可少的工具,市场上的pdf转换器主要有两种类型,一种是需要下载安装的,另一种是网页版,打开就可以使用的,今天小编给大家推荐一个非常好用的网页版pdf转换器&…...

只需5步 真·双开电脑版微信
最近发现,有些小伙伴不仅有双开手机版微信的需求,同时也有电脑版的需求。 今天教大家一个方法,简单好用,只需要跟着图片操作,5步即可!快一起来试试吧~ 1.下载安装ProcessExplorer 2.右键以管理员身份运行…...
如何将JSON字符串转化成对象
在这里只能使用ObjiectMapper这个类才能将Json字符串转成对象的格式进行输出 话不多说,直接上代码 实体类 //实体类 Setter Getter public class UserInfo implements Serializable {private Long id;private String name; //昵称private String phone; //手机转换代码 St…...

Zebec Protocol 将进军尼泊尔市场,通过 Zebec Card 推动该地区金融平等
流支付正在成为一种全新的支付形态,Zebec Protocol作为流支付的主要推崇者,正在积极的推动该支付方案向更广泛的应用场景拓展。目前,Zebec Protocol成功的将流支付应用在薪酬支付领域,并通过收购WageLink将其纳入旗下,…...

stm32项目(8)——基于stm32的智能家居设计
目录 一.功能设计 二.演示视频 三.硬件选择 1.单片机 2.红外遥控 3.红外探测模块 4.光敏电阻模块 5.温湿度检测模块 6.风扇模块 7.舵机 8.WIFI模块 9.LED和蜂鸣器 10.火焰传感器 11.气体传感器 四.程序设计 1.连线方式 2.注意事项 3.主程序代码 五.课题意义…...
边缘计算:连接智能世界的变革之力
随着物联网和人工智能的迅猛发展,边缘计算作为一种新兴的计算模式正受到越来越多的关注。边缘计算将数据处理和分析的能力从云端向网络的边缘推移,为各行各业带来了巨大的机遇和挑战。本文将探讨边缘计算的定义、应用领域以及对未来智能世界的影响。 1.…...

多货币多汇率跨境电子商城建设(仓储管理、网络安全)
多货币多汇率跨境电子商城建设需要考虑到多个方面,包括仓储管理、网络安全、货币兑换、物流配送等。以下是具体的介绍: 一、仓储管理 仓储管理是跨境电子商城的重要组成部分,需要考虑到商品的存储、管理和分拣等环节。以下是需要注意的几个…...
笔记,ubuntu22安装header问题
描述: 需要/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.,机器上只有libssl3.0,最后强制安装,并且打了快照,防止重…...

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

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

linux arm系统烧录
1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 (忘了有没有这步了 估计有) 刷机程序 和 镜像 就不提供了。要刷的时…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...

回溯算法学习
一、电话号码的字母组合 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之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...

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

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