使用 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 ...
随机推荐
- [杂项]从子域名接管到Subtaker
子域名接管安全性分析及落地化 能说只是为了学Go嘛?33333 Github项目直通车 简介 子域名接管,主要原因归结于失效dns记录未删除. 譬如,一条指向test.sec.com的CNAME记录未 ...
- 【题解】Codeforces Round #798 (Div. 2)
本篇为 Codeforces Round #798 (Div. 2) 也就是 CF1689 的题解,因本人水平比较菜,所以只有前四题 A.Lex String 题目描述 原题面 给定两个字符串 \(a ...
- 在生产中部署ML前需要了解的事
在生产中部署ML前需要了解的事 译自:What You Should Know before Deploying ML in Production MLOps的必要性 MLOps之所以重要,有几个原因 ...
- SAP 实例 1 Images in HTML
REPORT zharpo_010 NO STANDARD PAGE HEADING. TABLES : t001. TYPE-POOLS: slis. DATA : w_repid LIKE sy- ...
- [MRCTF2020]Ezpop-1|php序列化
1.打开题目获取到源代码信息,如下: Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From h ...
- Wabacus框架中inputbox和datepicker实现时间日历
前提是要引入WdatePicker.js. 一.年月日时分秒(中文) <inputbox type="datepicker" inputboxparams="dat ...
- Java服务假死后续之内存溢出
一.现象分析 上篇博客说到,Java服务假死的原因是使用了Guava缓存,30分钟的有效期导致Full GC无法回收内存.经过优化后,已经不再使用Guava缓存,实时查询数据.从短期效果来看,确实解决 ...
- 实时数据引擎系列(五): 关于 SQL Server 与 SQL Server CDC
摘要:在企业客户里, SQL Server 在传统的制造业依然散发着持久的生命力,SQL Server 的 CDC 复杂度相比 Oracle 较低, 因此标准的官方派做法就是直接使用这个 CDC ...
- Elasticsearch深度应用(下)
Query文档搜索机制剖析 1. query then fetch(默认搜索方式) 搜索步骤如下: 发送查询到每个shard 找到所有匹配的文档,并使用本地的Term/Document Frequer ...
- java的方法(类似与C语言函数)
package www.nihao; import java.util.Scanner; public class demo02 { public static void main(String[] ...