使用 Vue.js 框架后的感想
前言
用 Vue 已经有段时间了,把自己的所想所悟写下来,每一个想法都是非常宝贵的,记录成为生活,记录成为习惯。
简化开发
Vue 是可以辅助前端工程师开发 Web App 的一种框架,它节省很多时间,让我们更多的专注于业务代码的编写。它极大地节省 DOM 操作,非常快速地构建用户界面,以组件的形式把界面拆分成一块,达到可拆卸、可复用,相当于零件。
假如,渲染一个列表:
let ul = document.createElement('ul');
for (let i = 0; i < 10; i++) {
let li = document.createElement('li');
let p = document.createElement('p');
p.innerText = `Title${i}`;
let div = document.createElement('div');
let p1 = document.createElement('p');
p1.innerText = `Index: ${i}`;
let p2 = document.createElement('p');
p2.innerText = `Hello Vue.js!`;
div.appendChild(p1);
div.appendChild(p2);
li.appendChild(p);
li.appendChild(div);
ul.appendChild(li);
}
let root = document.getElementById('root');
root.appendChild(ul);
业务增加,嵌套标签的内容增加,结构也越来越复杂。你希望简单快捷的代码编写步骤吗?终究是人的懒嘛。开发 Web App 最烦的就是 DOM 操作,要一个个地获取。JQuery 可以减少这方面的操作。随着行业的发展,就衍生出更好用的技术。
Vue 渲染列表就是在页面标签中写好基本的结构,用 v-for 依次渲染每一项标签:
<div id="root">
<ul>
<li v-for="(item, index) in items" :key="item.index">
<p>Title: {{ item.title }}</p>
<div>
<p>Index: {{ index }}</p>
<p>{{ item.data }}</p>
</div>
</li>
</ul>
</div>
比起用 JS 添加这些节点和数据,用 Vue 框架来渲染这些节点要简单、快捷、高效得多。
Vue.createApp({
data() {
return {
items: [
{ title: 'h', data: 'Hello Vue.js!', index: 0 },
{ title: 'e', data: 'Hello Java!', index: 1 },
{ title: 'l', data: 'Hello JavaScript!', index: 2 },
{ title: 'l', data: 'Hello HTML!', index: 3 }
]
}
}
}).mount('#root');
以大化小的组件
Vue 还有一个非常重要的概念——组件,一个页面内容非常地多,如果还是把页面看作是一个整体开发,以后维护起来也非常困难,其他小伙伴后期加入开发理解起来也很困难。还不如把整体拆分成部分,就像是解决问题以大化小,以小化了。
组件的作用就是拆分页面,像是零件组装产品一样,而且零件可以很好地配置到其他地方,零件可以复用。开发过 Flutter 的小伙伴肯定知道,一个页面就是一个 .dart 文件,独立的、单独的。在 Vue 框架开发下,Web App 的一个页面就是一个 .vue 文件;页面中许许多多的一小块,就是一个 Vue 组件,也是以一个 .vue 文件存在,即单文件组件。
使用 Vue.js 框架后的感想的更多相关文章
- html的Vue.js框架概述
前端的三大框架: Augular.js 由Google的研发团队最先写出 React.js 由facebook的团队继Augular.js之后写出 Vue.js ...
- Vue.js框架的基础指令
Vue.js 渐进式 javascript 框架,可以独立完成前后端分离式web项目的javascript框架 js是页面脚本语言,用来控制或是辅助页面搭建,vue是js功能的集合体. 三大主流前端框 ...
- Vue.js——框架
一.什么是VUE vue 是一个构建用户界面的javascript框架 特点:轻量,高效 特性:双向数据绑定,数据驱动视图 二.vue的使用 1.引入vue.js <script src=vue ...
- IDEA安装vue.js插件后,new没有Vue component
首先要安装vue相关的插件vue.js 但是很多人安装vue.js右键发现没有vue Componment,解决方法如下 Settings>Editor>File and Code Tem ...
- Django+Vue.js框架快速搭建web项目
一.vue环境搭建1.下载安装node.js.2.安装淘宝镜像cnpm,在命令窗口输入: npm install -g cnpm --registry=https://registry.npm.tao ...
- vue.js 发布后路径引用问题
在发布到iis目录下时候,如果放在网站的根目录下的时候,是不会有什么问题的 但是一旦放在了非根目录的其他文件夹里面,这时候index.html里引用的js和css文件路径都会找不到 错误如下 打开in ...
- vue.js框架图片上传组件
html: <div id="app"> <div class="hello"> <div class="upload& ...
- vue.js打包后,接口安全问题
后面有一位朋友回答后台origin判断,但另一个朋友说可以通过代理请求就绕过跨域. 想想也对,代理的话origin就无效了,页面还是可以跑起来. 不知道有没有人想过这个问题,还是我想的方向有误,请各位 ...
- Vue.js 学习笔记 第1章 初识Vue.js
本篇目录: 1.1 Vue.js 是什么 1.2 如何使用Vue.js 本章主要介绍与Vue.js有关的一些概念与技术,并帮助你了解它们背后相关的工作原理. 通过对本章的学习,即使从未接触过Vue.j ...
随机推荐
- ESXI系列问题整理以及记录——使用Windows PowerShell中的SSH功能连接ESXI控制台
首先进入ESXI管理页面,开启ESXI的SSH功能 接下来到位于同一局域网的Win主机上开启Powershell,如果ESXI主机的IP地址为192.168.1.77,则在Powershell中输入: ...
- LVGL库入门教程04-样式
LVGL样式 LVGL样式概述 创建样式 在 LVGL 中,样式都是以对象的方式存在,一个对象可以描述一种样式.每个控件都可以独立添加样式,创建的样式之间互不影响. 可以使用 lv_style_t 类 ...
- Windows家庭版-添加Hyper-V
新建一个hyper-v.cmd文件,内容为 pushd "%~dp0" dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum & ...
- MySQL-2-DQL
DQL:数据查询语言 SQLyog中格式化某段语句片段:CTRL+F12 基础查询 语法: select 查询列表 from 表名: 特点: ① 查询列表可以是:表中的字段.常量值.表达式.函数 ② ...
- FICO 常用事务码
1.SAP配置流程 1.定义,定义组织,概念,比如FI中定义公司代码,会计科目表,年度变式.SAP中有大量的定义过程. 2.分配,把会计科目表/公司/年度变式等参数分配到公司代码,逻辑组织,基本实现框 ...
- SAP BDC 调用中 金额格式转换
在BDC调用中,由于用户设置不同,导致金额.日期等字段的输入格式不正确.此处给出 自创 金额转换FM 并配有 调用方式. function zgm_conver_cuur. *"------ ...
- Nginx防御CC攻击
CC攻击可以归为DDoS攻击的一种.他们之间都原理都是一样的,即发送大量的请求数据来导致服务器拒绝服务,是一种连接攻击.CC攻击又可分为代理CC攻击,和肉鸡CC攻击.代理CC攻击是黑客借助代理服务器生 ...
- 解决方案:可以ping别人,但是别人不能ping我
背景:我在写分布式爬虫项目时遇到了slave端无法ping通我的master,我的master可以ping通slave.我将master的防火墙关闭后slave可以ping了,但是这不是解决办法.于是 ...
- 网络通讯之Socket-Tcp(一)
网络通讯之Socket-Tcp 分成3部分讲解: 网络通讯之Socket-Tcp(一): 1.如何理解Socket 2.Socket通信重要函数 网络通讯之Socket-Tcp(二): 1.简单So ...
- Tapdata 等40余家行业知名企业,应邀参与共建 NextArch Foundation
日前,Linux 基金会执行董事 Jim Zemlin 于 Linux 基金会会员峰会(The Linux Foundation Member Summit)上宣布,Linux 基金会正式成立 N ...