【转】Vue.js入门教程(二)在页面中引入vue的方式

第二章:安装和基础效果展示

页面中引入vue


因为我们的目标是在最短的时间之内学会vue的使用方法,所以我们不一定需要通过npm工程化进行安装,你直接用script在页面中引用也完全没有问题。

第一种引入方式,script直接引入:

 

<script src="https://cdn.bootcss.com/vue/2.5.20/vue.min.js"></script>

直接引入的好处是,随用随引,不需要的包在页面上就不加载。并且通过外链访问比打包压缩访问的速度更快。
以后我们在讲vuecli的时候会详细讲解,本教程所有例子,都会通过http直引和npm安装两种方式进行讲解。
我们由浅入深,等你学会使用npm包管理工具的时候,可以回头在把npm引入方式看一遍,你将会有更深的理解。

第二种,通过npm安装
当我需要构建一套基于node npm的项目的时候。我就应该通过npm指令去安装了,这跟其他引用到npm中的项目是一样的。

 

npm install vue

方法是先安装node,然后cd到你的目录去执行npm,如果你还不会使用npm,
可以查看一下关于nodejs的npm包管理器的使用方法,不会nodejs也没有关系!

这我需要提到一个新的名词,脚手架。所谓的脚手架就是通过webpack或者gulp构建好的一套包结构,里面已经在package中给写好了,你拿回来直接npm install一下就行。
因为我们后面还会用到vue-route,axios,vuex等,如果不基于自动化构建工具,我们这一套东西就会显得混乱不堪。
至于vuecli的用法,我们会在后续的文章中讲到,你可以先暂时使用第一种方法体验vue的强大之处!

引入成功后,运行一个简单示例!


当你引入vue以后,我们来讲解一个简单实例,为了帮助你快速理解,我们通过与jquery的对比,把一个效果用两种方式来实现,让你感受到vue的强大之处。

 

vue实现了model和view的自动绑定

 

<input type="text" id="input1" placeholder="我是jquery元素"><script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.min.js"></script>
<script type="text/javascript">$("#input1").keyup(function(){console.log($(this).val());})
</script>

这是一个jquery获取文本框内容的例子。

在keyup的时候,你看看jquery都执行了什么操作。首先第一步,jquery访问dom树,从document上面找到一个名字叫input1的元素,然后获取它的value属性,接着,把这个value的值log出来。这套操作可以说是罪大恶极。
我每次修改了里面的值,它就访问一次dom,如果我这个页面上内容再多点的话——后果将是灾难式的。

同样的东西我们看看vue中是怎么实现的:


 

<script src="https://cdn.bootcss.com/vue/2.5.20/vue.min.js"></script>
<div id="app"><input type="text" id="input2" placeholder="我是vue元素" v-model="message" @input="log">
</div>
<script type="text/javascript">new Vue({el:"#app",data:{message:"请输入内容.."},methods:{log:function(){console.log(this.message);}},created(){console.log("--vue加载成功!--");}})
</script>

看到这个代码,马上就有的人,开始抬杠了。
这个代码比jquery复杂多了,而且也不好理解。

我从三个方面来反驳你的观点:你有可能需要用笔和本记录下来:


第一,vue只需渲染一次dom。而不是每次都重新获取dom然后修改他的值。这样当你页面上有上千个元素的时候,他非常的节省内存。你可以把这些资源放到其他地方,例如说canvas中。后面我们会详细讲解。当你有数据更新的时候,执行完毕AJAX后数据会自动更新页面,而不需要你再次查找元素。

第二:当你的页面有复杂的逻辑关系以后,你才能发现vue是多么的优雅。所有数据全部在data(model)中管理,而jquery呢?他是基于dom的,根本无法管理数据。他每次用的时候都需要重新获取。导致你一开始是很轻松,写一句就行了,但是你到了后面提交数据的时候,你就麻烦了。难道你还准备搞出来一群全局变量挨个赋值?

第三:小程序的设计模式跟这个一模一样。这么说不太严谨,严谨的说法是写法几乎一样。毕竟他们都是基于前后端分离设计模式来的。所以你把这个用好,小程序自然就无师自通了。



作者:党云龙
链接:https://www.jianshu.com/p/ed7d9fbd71e8
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

jQuery在处理单页面或者小项目的时候感觉还是可以的,,,vue适用于各大中小型项目,但是单就vue的项目而言,不利于搜索引擎的爬取和SEO优化,,,大佬,求解答

你说的对,所以,清看后续的nuxt教程!

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

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

相关文章

【OSG】Examples

推荐内容 关于示例项目解析的内容推荐&#xff1a; OSG3.4内置Examples解析【目录】 下面是个人学习笔记。 1. Examples osgbillboard 这个项目很简单&#xff0c;就几个函数&#xff0c;而且很有意思。 osg::Billboard类是一个控制器&#xff0c;不管你怎么旋转漫游场景&a…

【转】页(page),用户控件(userControl),窗口(window)区别

欢迎加入BIM行业开发交流1群 群号:711844216 背景 大家在vs中新建wpf项目后&#xff0c;会发现在添加新建项时会出现下列三个选项 它们有什么区别呢&#xff1f; 区别&#xff1a; 页&#xff1a;通常用于网页窗口&#xff1a;通常一个桌面app只有一个主窗口用户控件&#…

OpenGL基本运行模型

OpenGL是一种三维技术规范。 我们知道三维渲染场景需要实时计算大量数据。 这里我根据自己的经验总结出一句话&#xff1a; 计算机中&#xff0c;对性能要求高的功能模块&#xff0c;其运行原理必然是简单易行的&#xff01; 有理由断言&#xff1a;OpenGL没那么难。 OpenGL工…

【转】浅谈TDD、BDD、ATDD、DDD的区别

四个开发模式意思: TDD&#xff1a;测试驱动开发&#xff08;Test-Driven Development&#xff09;BDD&#xff1a;行为驱动开发&#xff08;Behavior Driven Development&#xff09;ATDD&#xff1a;验收测试驱动开发&#xff08;Acceptance Test Driven Development&#x…

【OSG】OSG运行模型

关于运行模型 OSG中的类很多&#xff0c;只看OSG代码&#xff0c;很难把各个类串联起来。 我们知道面向对象程序的运行模型是&#xff1a;对象对象间协作。 单纯看代码&#xff0c;多数情形下&#xff0c;只能了解程序中有哪些对象&#xff0c;而不知道它们是如何协作的&…

用姓名字段统计人数_基于 Wide amp; Deep 网络和 TextCNN 的敏感字段识别

数据治理 (Data Governance) [1]作为一种数据管理的重要一环&#xff0c;主要目的在于保证数据在整个生命周期内的高质量性。数据治理的核心包括&#xff1a;数据的可用性 (Availability)&#xff0c;易用性 (Usability)&#xff0c;一致性 (Consistency)&#xff0c;完整性 (I…

【转】C# Stream篇(—) -- Stream基类

目录&#xff1a; 什么是Stream? 什么是字节序列&#xff1f; Stream的构造函数 Stream的重要属性及方法 Stream的示例 Stream异步读写 Stream 和其子类的类图 本章总结 什么是Stream? MSDN 中的解释太简洁了: 提供字节序列的一般视图 &#xff08;我可不想这么理解…

【已解决】解决Win7安装VS2013/VS2015结束时报错“无法建立到信任根颁发机构的证书链”的问题

问题描述 最近在Win7虚拟机上上安装VS&#xff0c;等待许久之后&#xff0c;提示安装完成。但是完成界面报错&#xff1a; “无法建立到信任根颁发机构的证书链”。 而且错误还不少&#xff0c;如下图所示&#xff1a; 根据我的个人经验&#xff0c;证书问题并没有影响日常开…

【转】C# Stream篇(二)TextReader 和StreamReader

目录&#xff1a; 为什么要介绍 TextReader&#xff1f; TextReader的常用属性和方法 TextReader 示例 从StreamReader想到多态 简单介绍下Encoding 编码 StreamReader 的定义及作用 StreamReader 类的常用方法属性 StreamReader示例 本章总结 为什么要介绍 TextReade…

【数据结构】能看懂的红黑树

1 总体逻辑 1.2 二叉树 二叉树中&#xff0c;一个根节点最多有两个子节点。 1.3 二叉排序树 Binary Search Tree 二叉排序树是一个排好序的二叉树。且水平方向来看&#xff0c;总有 左节点 < 右节点 简单记忆其规律&#xff0c;可以在脑海中想象一个大大的小于号&#x…

【转】!C#中的Stream相关

计算机文件基本上分为二种&#xff1a;二进制文件和 ASCII&#xff08;也称纯文本文件&#xff09;。图形文件及文字处理程序等计算机程序都属于二进制文件。这些文件含有特殊的格式及计算机代码。ASCII 则是可以用任何文字处理程序阅读的简单文本文件&#xff0c;由一些字符的…

【转】!!c#文件系统操作类继承关系图

自己总结的&#xff0c;给大家参考一下&#xff0c;

php elasticsearch 获取索引所有文档_Elasticsearch客户端主要方法的使用规则

安装1.在 composer.json 文件中引入 elasticsearch-php&#xff1a;{ "require": { "elasticsearch/elasticsearch": "~6.0" }}2.用 composer 安装客户端&#xff1a;curl -s http://getcomposer.org/installer | phpphp composer.…

【转】SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤

转自&#xff1a;https://monday.blog.csdn.net/article/details/51122637 一&#xff1a;使用场景&#xff1a; 假如你的项目&#xff08;这里指的是手机客户端项目&#xff09;的某个版本&#xff08;例如1.0版本&#xff09;已经完成开发、测试并已经上线了&#xff0c;接…

【转】人工智能教程-前言

前言 大家好&#xff01;欢迎来到我的网站&#xff01; 人工智能被认为是一种拯救世界、终结世界的技术。毋庸置疑&#xff0c;人工智能时代就要来临了&#xff0c;科幻电影中的场景将成为现实&#xff0c;未来已来&#xff01; 我很庆幸。十四年前就认定了人工智能专业&…

【转】人工智能-1.1.1 什么是神经网络

1.1.1 什么是神经网络 什么是人工智能&#xff1f;通俗来讲&#xff0c;就是让机器能像人一样思考。这个无需解释太多&#xff0c;因为通过各种科幻电影我们已经对人工智能很熟悉了。大家现在感兴趣的应该是——如何实现人工智能&#xff1f; 从1956年夏季首次提出“人工智能…

【转】人工智能-1.2.2 神经网络是如何进行预测的

上一篇文章中我们已经知道了如何将数据输入到神经网络中。那么神经网络是如何根据这些数据进行预测的呢&#xff1f;我们将一张图片输入到神经网络中&#xff0c;神经网络是如何预测这张图中是否有猫的呢&#xff1f;&#xff1f; 这个预测的过程其实只是基于一个简单的公式&a…

js 根据公历日期 算出农历_一招教会你公历换算成农历,要不要试试看

古代的历法是干支纪年&#xff0c;俗称农历或阴历&#xff0c;现在我们都统一采用公历的阿拉伯数字纪年。因此&#xff0c;就存在着一个历法的换算问题。当然&#xff0c;我们可以查历书就直接知道了&#xff0c;但是这个方法并不一定方便。现在告诉大家一个简单的口诀&#xf…

【转】Power Platform(简介)

Power Platform 系统通过允许用户执行以下三个关键操作来帮助他们推动业务发展&#xff1a;使用 Power BI 从数据中获得见解&#xff0c;通过使用 PowerApps 构建的应用程序来推动智能业务流程&#xff0c;以及使用 Power Automate 自动执行这些流程。 这些解决方案彼此配合协作…