为什么 那么多 前端开发者都想学 Vue.js

根据JavaScript 2017 前端库状况调查 Vue.js是开发者最想学的前端库。我在这里说明一下我为什么认为这也是和你一起通过使用 Vue 构建一个简单的 App 应用程序的原因。

我最近曾与 Evan You,Chris Fritz,Sarah Drasner,和 Adam Jahr 做了一个介绍视频,而现在你可以在 http://vuejs.org首页找到它。以下是该视频的文字版本。

伟大的 JavaScript 迁移

如你所知,JavaScript在过去的 10 年中已经成熟了很多,而且服务器端正常运行的大部分代码已经迁移到浏览器中了。随着这变得越来越复杂,框架也变得越来越有组织性。

为什么 43%前端开发者想学 Vue.js

我不打算告诉你为什么一个比另一个更好的,虽然在官方网站有一个详细的比较。

Vue.js旨在成为一个平易近人,多功能,高性能,可维护性,可测试的 JavaScript 框架。Vue 的目也是为了进步,意思就是如果你有一个现有的应用程序存在只占一个部分的前端,你需要更多的互动体验那么就可以使用 Vue。

或者,您也可以从一开始就在前端构建更多的业务逻辑。Vue 的核心库和生态系统需要规模。

为什么 43%前端开发者想学 Vue.js

像其他的前端框架,Vue 可以让你把网页分为可重用的逻辑组件。每一个都有它自己的HTML、CSS 和 JavaScript来渲染页面的每一部分。

为什么 43%前端开发者想学 Vue.js

一个示例,说明如何将事物分解成组件

我们的第一个 Vue 项目

我想让你没见过 Vue 前让你先找到代码的感觉并告诉你一些语法。我不会深入讨论细节,但是我们会看到一些核心概念。

与许多 JavaScript 应用程序一样,我们从将数据显示到页面开始。

为什么 43%前端开发者想学 Vue.js

用 Vue 开始构建很简单。

为什么 43%前端开发者想学 Vue.js

你可以看到在上面的图片我们包括Vue库,创建 Vue 的实例,并插入到我们的根元素通过 App 的 ID。EL 代表元素。我们也会将数据移到一个对象中,并将 X 转换为一个带有双花括号的表达式。

如你所见,它有效:

为什么 43%前端开发者想学 Vue.js

没什么特别的,但数据开始变化时 Vue 就像魔术。如果我跳到控制台,改变 product 的值,看看会发生什么:

为什么 43%前端开发者想学 Vue.js

VUE 是响应式的,即当我们的数据变化,Vue 会更新所有在我们的网页使用它的地方。

这与任何类型的数据无关 , 不只是字符串。因此,我们不必使用单一产品,而是使用一系列产品,并将 H2 更新为无序列表。创建一个新的

  • 元素的每一个产品,我们会使用一种特殊的属性(又名指令) Vue 称为 v-for。这样,每个产品都可以得到自己的列表项。

     

    为什么 43%前端开发者想学 Vue.js

    如果我们跳进浏览器,这就是我们看到的:

    为什么 43%前端开发者想学 Vue.js

    这仍然有点人为设计,所以让我们先把列表清空,然后从实际的 API 中取出我们的产品列表,这些 API 可能来自某个数据库。

    为什么 43%前端开发者想学 Vue.js

    如果我们查看打印到页面的内容,我们将看到:

    为什么 43%前端开发者想学 Vue.js

    如您所见,每个列表项都显示返回的对象。为了让这些数据被人类读取,我们需要改变它显示的方式。

    为什么 43%前端开发者想学 Vue.js

    我们的结果是:

    为什么 43%前端开发者想学 Vue.js

    我们要注意到数量 0 的物品,让我们添加一个<span,>内容“缺货”。我们只想在我们的 item.quantity = = = 0 的出现,所以我们将使用 Vue 的 v-if 指令。

    为什么 43%前端开发者想学 Vue.js

    当然,我们的夹克已经没货了:

    为什么 43%前端开发者想学 Vue.js

    如果我们想打印出我们列表中的产品总数呢?我们需要创建一个计算属性称为 totalproducts,返回我们的产品总数量。如果您不熟悉 JavaScript reduce 函数的话,我说明下它将从每个产品中添加所有数量。

    为什么 43%前端开发者想学 Vue.js

    正如你可以看到下面,我们现在可以将我们的总库存打印出来。

    为什么 43%前端开发者想学 Vue.js

    这会儿也可能告诉你关于使用 vue.js 的 Chrome 扩展工具的一个很好的时机。扩展工具的一个很好的特性是,您可以检查加载到页面上的数据。

    为什么 43%前端开发者想学 Vue.js

    还有一些 Vue 的响应,让我们看看在数组中删除 2 项会发生什么。正如你在下面看到的,不仅是我们的名单更新了,而且我们的总数也是如此。

    为什么 43%前端开发者想学 Vue.js

    接下来,我将向您展示如何通过使用按钮来增加对该页面的交互性。我们将为每个产品创建一个添加按钮,当单击此按钮时,我们将增加一个数量。

    为什么 43%前端开发者想学 Vue.js

    注意,当我们添加一个项目(下)时,不仅总库存得到更新,而且如果我们增加我们的夹克产品,我们的库存通知就会消失。

    为什么 43%前端开发者想学 Vue.js

    但是,如果我们只想写夹克或远足袜的数量呢?我们只需要创建一个新的输入字段,并将其绑定到我们的产品数量通过 v-model 指向它,并指定这始终是一个 number 即可。

    为什么 43%前端开发者想学 Vue.js

    你会注意到我现在可以输入每个项目的总数量,并立即获得更新。我甚至可以把数量设置为零,我得到了我的库存,我的添加按钮也仍然可以工作。

    为什么 43%前端开发者想学 Vue.js

    你可以完成这个版本的项目的后,去 JSFiddle 运行它,当然也可以去汇智网( www.hubwiz.com )运行它。

    Vue 的一些特点

    如果我们把它构建成一个更大的应用程序,那么我们就要开始把它分解成多个组件和文件,以使程序变得更有条理。

    为什么 43%前端开发者想学 Vue.js

    Vue 甚至提供一个命令行接口,使简单的开始迅速发展真正的项目。正如您在下面看到的,init 命令可以用来启动一个新项目。

    为什么 43%前端开发者想学 Vue.js

    我们还可以使用单文件——.Vue 组件文件,其中包含 HTML,JavaScript,CSS 甚至 SCSS。

    为什么 43%前端开发者想学 Vue.js

    你在这里看到的只触及到 Vue 表面上可以做什么。有很多东西可以帮助你构建、组织和扩展你的前端应用程序。要真正开始编码,我将推荐两种资源。一个是去下载资源手册表到这里: http://www.vuemastery.com/download-1,另外一个是官方文件: https://vuejs.org/v2/guide/。

    转自:https://www.v2ex.com/t/418612

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/448458.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程间通信之管道通信

两个程序之间传递数据的一种简单方法是使用popen和pclose。 #include <stdio.h> FILE *popen(const char *command, const char *type); int pclose(FILE *stream); popen函数允许一个程序将另一个程序作为新进程来启动&#xff0c;并可以传递数据给它或者通过它接收数据…

vue 各组件 使用 Demo

环境搭建 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 假设你已经通读vue官方文档&#xff08;文档都没读一遍&#xff08;至少&#xff09;&#xff0c;那不建议动手撸码&#xff…

Dropbox推独立应用,公司估值已达100亿美元

摘要&#xff1a;Dropbox刚获得5亿美元的新一轮融资&#xff0c;其估值已高达100亿美元&#xff0c;现在又推出针对云服务的独立应用Carousel&#xff0c;不久之后&#xff0c;还会有应用陆续推出&#xff0c;随着美国前国务卿赖斯的加盟&#xff0c;Dropbox在云市场的表现异常…

SQL经典面试题(二)

有3个表S&#xff0c;C&#xff0c;SCS&#xff08;SNO&#xff0c;SNAME&#xff09;代表&#xff08;学号&#xff0c;姓名&#xff09; //主键&#xff1a;SNO //多个人&#xff0c;多门课 3张表 &#xff0c;SC 关系表C&#xff08;CNO&#xff0c;CNAME&#xff0c;…

开源当自强:我们不是“便宜货”

之前人们争相使用开源软件&#xff0c;无非是因为它便宜、好用、易得&#xff0c;不过根据最新的开源软件调查显示&#xff0c;人们使用开源软件最主要的原因还是看重它的高质量。 成本低是很过公司参与开源项目的最主要原因之一&#xff0c;而现在他们视开源是一条通往创新、省…

python内建函数和工厂函数的整理

内建函数参阅&#xff1a; https://www.cnblogs.com/pyyu/p/6702896.html 工厂函数&#xff1a; 本篇博文比较粗糙&#xff0c;后续会深入整理转载于:https://www.cnblogs.com/qiang-upc/p/11155786.html

显卡天梯图:2014最新显卡性能天梯图

随着电脑游戏的推广&#xff0c;很多用户都喜欢上了电脑网络游戏&#xff0c;所以组装电脑用户在装机的时候&#xff0c;会考虑电脑配置的游戏性能&#xff0c;要提高电脑配置游戏性能首要条件就是显卡性能要强&#xff0c;如果显卡性能不佳&#xff0c;那么其它方面性能再强&a…

【显卡天梯图】2014年最新显卡天梯图 – 【迄今最全系列显卡】

【显卡天梯图】2014年最新显卡天梯图 – 【迄今最全系列显卡】 随着电脑游戏的推广&#xff0c;很多用户都喜欢上了电脑网络游戏&#xff0c;所以组装电脑用户在装机的时候&#xff0c;会考虑电脑配置的游戏性能&#xff0c;要提高电脑配置游戏性能首要条件就是显卡性能要强&am…

原理系列:Spark1.x 生态圈一览

Spark生态圈&#xff0c;也就是BDAS&#xff08;伯克利数据分析栈&#xff09;&#xff0c;是伯克利APMLab实验室精心打造的&#xff0c;力图在算法&#xff08;Algorithms&#xff09;、机器&#xff08;Machines&#xff09;、人&#xff08;People&#xff09;之间通过大规模…

SpringMVC 注解 : @ModelAttribute

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 SpringMVC 注解 &#xff1a; ModelAttribute 的用法如上。 转自&#xff1a;https://blog.csdn.net/lovesomnus/article/details/78873…

解决: idea 修改 jsp 后,页面刷新无效

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 idea 修改 jsp 后浏览器访问无效。 解决&#xff1a;进入 idea 配置 修改部署方式&#xff1a; 修改 更新文件方式&#xff1a; OK了。

Python中的getpass模块

getpass模块用于输入密码时&#xff0c;隐藏密码字符 代码 import getpass name input("请输入你的名字&#xff1a;") passwd getpass.getpass("请输入你的密码&#xff1a;")print (name,passwd)   首先我们要import引入getpass模块&#xff0c;然后…

如何做到每天写代码?

摘要&#xff1a;总有一大堆事情没有做完&#xff0c;没有时间和精力为业余项目写代码&#xff1f;不要着急&#xff0c;看看可汗学院计算机科学院院长John Resig怎么说。本文将教你如何保证在每天都能有时间给业余项目写代码。 你是否曾为业余项目没有进展而惆怅过&#xff1f…

Vue 实现前后端分离项目

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 Vue实现前后端分离项目的初体验 经过之前学习的Vue的知识&#xff1a; vue基本指令vue组件vue-resourcevue路由 其实我们已经可以开始…

优秀Unix管理员的七个习惯

摘要&#xff1a;Unix系统管理员可能会很懒或喜欢优雅的解决方法&#xff0c;这就是他们的存在之美。一位优秀的Unix系统管理员有着自己的习惯&#xff1a;不会等到问题来找你、精通所使用的工具和系统、确定事情优先次序和喜欢优雅的解决方案但不迷失等。 优秀的Unix系统管理员…

Vue.js 极简小例:读值、样式调用、if判断、a 标签、点击事件、管道

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 写法&#xff1a; <template><div id"app"><!-- 三目运算符使用 ‘ok’ 的值定义在 data 中-->{{ ok …

C++与C中const的比较以及const和define的比较

C与C中const的比较&#xff1a; C语言中 const修饰的变量是一个 常变量&#xff0c;本质还是变量&#xff0c;有自己的地址空间C编译器对const常量的处理 当碰见常量声明时&#xff0c;在符号表中放入常量 > 问题&#xff1a;那又如何解释取地址编译过程中若发现对const使…

Vue.js 极简小例:数值计算、千米换算为米、九九乘法表、循环

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div id"app"><!-- 千米和米换算 --><div id "computed_props&quo…

C++之内联函数

内联函数是一种特殊的函数&#xff0c;具有普通函数的特征&#xff08;参数检查&#xff0c;返回类型等&#xff09; 内联函数是对编译器的一种请求&#xff0c;因此编译器可能拒绝这种请求 内联函数由 编译器处理&#xff0c;直接将编译后的函数体插入调用的地方 宏代码片段…

Vue.js 极简小例: 4 种方式样式绑定、style 的多种方式实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 代码&#xff1a; <template><div id"app"><!-- JSON方式使用样式 --><div v-bind:style"{ colo…