前言

用 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 框架后的感想的更多相关文章

  1. html的Vue.js框架概述

    前端的三大框架: Augular.js          由Google的研发团队最先写出 React.js            由facebook的团队继Augular.js之后写出 Vue.js ...

  2. Vue.js框架的基础指令

    Vue.js 渐进式 javascript 框架,可以独立完成前后端分离式web项目的javascript框架 js是页面脚本语言,用来控制或是辅助页面搭建,vue是js功能的集合体. 三大主流前端框 ...

  3. Vue.js——框架

    一.什么是VUE vue 是一个构建用户界面的javascript框架 特点:轻量,高效 特性:双向数据绑定,数据驱动视图 二.vue的使用 1.引入vue.js <script src=vue ...

  4. IDEA安装vue.js插件后,new没有Vue component

    首先要安装vue相关的插件vue.js 但是很多人安装vue.js右键发现没有vue Componment,解决方法如下 Settings>Editor>File and Code Tem ...

  5. Django+Vue.js框架快速搭建web项目

    一.vue环境搭建1.下载安装node.js.2.安装淘宝镜像cnpm,在命令窗口输入: npm install -g cnpm --registry=https://registry.npm.tao ...

  6. vue.js 发布后路径引用问题

    在发布到iis目录下时候,如果放在网站的根目录下的时候,是不会有什么问题的 但是一旦放在了非根目录的其他文件夹里面,这时候index.html里引用的js和css文件路径都会找不到 错误如下 打开in ...

  7. vue.js框架图片上传组件

    html: <div id="app"> <div class="hello"> <div class="upload& ...

  8. vue.js打包后,接口安全问题

    后面有一位朋友回答后台origin判断,但另一个朋友说可以通过代理请求就绕过跨域. 想想也对,代理的话origin就无效了,页面还是可以跑起来. 不知道有没有人想过这个问题,还是我想的方向有误,请各位 ...

  9. Vue.js 学习笔记 第1章 初识Vue.js

    本篇目录: 1.1 Vue.js 是什么 1.2 如何使用Vue.js 本章主要介绍与Vue.js有关的一些概念与技术,并帮助你了解它们背后相关的工作原理. 通过对本章的学习,即使从未接触过Vue.j ...

随机推荐

  1. [杂项]从子域名接管到Subtaker

    子域名接管安全性分析及落地化 能说只是为了学Go嘛?33333 Github项目直通车 简介 子域名接管,主要原因归结于失效dns记录未删除. 譬如,一条指向test.sec.com的CNAME记录未 ...

  2. 【题解】Codeforces Round #798 (Div. 2)

    本篇为 Codeforces Round #798 (Div. 2) 也就是 CF1689 的题解,因本人水平比较菜,所以只有前四题 A.Lex String 题目描述 原题面 给定两个字符串 \(a ...

  3. 在生产中部署ML前需要了解的事

    在生产中部署ML前需要了解的事 译自:What You Should Know before Deploying ML in Production MLOps的必要性 MLOps之所以重要,有几个原因 ...

  4. SAP 实例 1 Images in HTML

    REPORT zharpo_010 NO STANDARD PAGE HEADING. TABLES : t001. TYPE-POOLS: slis. DATA : w_repid LIKE sy- ...

  5. [MRCTF2020]Ezpop-1|php序列化

    1.打开题目获取到源代码信息,如下: Welcome to index.php <?php //flag is in flag.php //WTF IS THIS? //Learn From h ...

  6. Wabacus框架中inputbox和datepicker实现时间日历

    前提是要引入WdatePicker.js. 一.年月日时分秒(中文) <inputbox type="datepicker" inputboxparams="dat ...

  7. Java服务假死后续之内存溢出

    一.现象分析 上篇博客说到,Java服务假死的原因是使用了Guava缓存,30分钟的有效期导致Full GC无法回收内存.经过优化后,已经不再使用Guava缓存,实时查询数据.从短期效果来看,确实解决 ...

  8. 实时数据引擎系列(五): 关于 SQL Server 与 SQL Server CDC

      摘要:在企业客户里, SQL Server 在传统的制造业依然散发着持久的生命力,SQL Server 的 CDC 复杂度相比 Oracle 较低, 因此标准的官方派做法就是直接使用这个 CDC ...

  9. Elasticsearch深度应用(下)

    Query文档搜索机制剖析 1. query then fetch(默认搜索方式) 搜索步骤如下: 发送查询到每个shard 找到所有匹配的文档,并使用本地的Term/Document Frequer ...

  10. java的方法(类似与C语言函数)

    package www.nihao; import java.util.Scanner; public class demo02 { public static void main(String[] ...