初识vuejs
转行前端,时间也不短了,也见识到了前端行业的蓬勃发展,以及一些新鲜技术的层出不穷。
由于自身计算机基础的薄弱,更加上一直没有遇上一个公司力推新技术,所以一直以来基本上都是靠着jquery和则zepto行走天涯,也没觉得有什么不妥,再多就是用用一些前端的UI框架,诸如bootstrap,SUI-Mobile。
看着越来越火热的前端mvvm框架代表vuejs,reactjs,angularjs,说不想学,不想懂,必然是虚伪的。但是也一直在克制着。因为有朋友建议,先掌握JavaScript基础,比什么都重要,如果基础牢固,这些框架学起来,真的没那么难。
所以一直坚守着,啃JavaScript的基础,坚持了大概半年时间左右,最开始的计划是到今年下半年,大概七八月份的时候,再开始搞这些mvvm前端框架的,但是架不住计划不如变化,项目组前端组长,在年初的时候,要求大概在年中的时候,我们最起码要在项目中开始使用上这些mvvm框架中的一个。经过几个人的讨论(项目组几个前端都不太懂mvvm框架,基本属于瞎讨论吧^_^),最终决定选用vuejs,至于原因,也没什么好说的,最直接的原因是:据说容易上手。
下面就是开始vuejs的学习了。
我的学习是从看视频开始的(基本上各种技术学习都是从看视频开始的),智能社录制的vuejs,从头到尾看了至少三遍以上,然后就想着是不是找一个小的demo练一下手✋,正好前段时间做了一个移动的活动项目:
这是一个答题的页面,入口是一个按钮,点击之后进入到该页面进行答题,每道题目有10秒钟倒计时,10秒之后,不管有没有做出选择,自动跳转到下一题。在banner上有一个切换的按钮,可以在活动说明和答题页面之间来回切换。今日抢答和我的积分是两个选项卡,可以在答题和积分之间来回切换,在积分页面有兑换奖品的按钮,可以进行各种奖品的兑换,需求就这么一点,是之前的做过的一个项目,这里只是把他用vuejs再走一遍,所以也就直接使用了之前搭建的html页面。使用了SUI-Mobile的UI框架,这里不说任何关于vuejs的语法基础之类的,仅仅描述一下,第一次使用vuejs过程中,遇到的各种痛点。
先烈一下目录结构吧:
在banner上的切换按钮来回切换的时候,遇到了组件之间通信的问题,看视频的时候,老师介绍了可以通过Event.$emit和Event.$on在组件之间相互通信,但是我遇到了这么一个问题,由于我把答题页面和活动说明页面,分别包装成了组件,分为Paper.vue和Desc.vu,这就出现了两个文件之间的组件通信,没办法在任何一个文件(包括App.vue)上定义一个Event = new Vue()以供所有组件使用,中间各种痛苦略去不表,最后才想起来,单独定义一个js文件,即event.js,只有两句代码:
import Vue from "vue"
export default new Vue()
在各个需要用到的.vue文件中直接导入这个模块,就可以共用一个Event了,算是解决了简单组件之间的基本通信问题。
还遇到了一个不知道什么问题的问题,就是选项卡出配置路由
<div class="buttons-tab buttons-bg">
<router-link to='/paper' class="tab-link button">今日试题</router-link>
<router-link to='/ranking' class="tab-link button">文曲榜</router-link>
</div>
<router-view></router-view>
然后打开页面调试的时候,点击选项卡,也能够实现路由的跳转,但是很不幸的是,会报错:
就这么个错,各种搜索,然后什么禁止sui-mobile的默认路由之类的,反正各种能想到的方法,都尝试了,实在没办法解决这个报错问题,最后尝试了把路由默认生成a标签改成了span标签,就解决了这个报错问题,虽然解决了问题,可是我还是没明白为什么会报错。
习惯了各种DOM操作,转到vuejs的时候,发现完全可以不用操作DOM,直接操作各种数据即可,思维转换很重要,路还很长,继续努力!
初识vuejs的更多相关文章
- 六、VueJs 填坑日记之初识*.Vue文件
上一篇博文中,我们将接口的地址通过webpack代理到了本地,解决了跨域的问题.在之前的文章中,我们一直对项目进行配置,并没有真正的切入正题,可能很多人还不明白我们要做什么?那么今天,我们就要开写代码 ...
- VueJS第2天 初阅API(初识MarkDown)
指令是带有前缀 v-,以表示它们是 Vue 提供的特殊特性.可能你已经猜到了,它们会在渲染的 DOM 上应用特殊的响应式行为 v-bind --> 数据绑定 v-for --> 循环 v- ...
- day 81 Vue学习一之vue初识
Vue学习一之vue初识 本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js ...
- 第1章-初识Vue.js
一.初识Vue 1.1.本次我们学习的内容 常用指令:vue中最基础的内容 交互: 网络请求 组件: 是vue.js 这个框架 最核心,最精华的内容,因为vue呐,它在所有的框架中是把组件化做到了极致 ...
- Vuejs - 单文件组件
为什么需要单文件组件 在之前的实例中,我们都是通过 Vue.component 或者 components 属性的方式来定义组件,这种方式在很多中小规模的项目中还好,但在复杂的项目中,下面这些缺点就非 ...
- Vuejs - 组件式开发
初识组件 组件(Component)绝对是 Vue 最强大的功能之一.它可以扩展HTML元素,封装可复用代码.从较高层面讲,可以理解组件为自定义的HTML元素,Vue 的编译器为它添加了特殊强大的功能 ...
- Vue框架初识01
摘要 vue简介 vue使用 一.Vue简介: 简介: Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 A ...
- 1、vueJs基础知识01
vue是框架,vue.js是vue框架的核心js库 库:是一个封装好的特定的方法的集合,提供给开发者使用,库没有控制权,控制权在使用者手中.代表:jQuery.underscore.util 框架:框 ...
- day 80 Vue学习一之vue初识
Vue学习一之vue初识 本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js框架 ...
随机推荐
- 实践中总结出来对heapq的一点理解
关于heapq(优先级队列算法): heapq.heapify(x):个人理解就是以线性时间(O(n)时间)将一个list转换经过堆排序之后在放入list中,而这种堆特点是根节点必须小于左右节点.曾听 ...
- Hive Shell 命令详解
Hive服务介绍 Hive默认提供的cli(shell)服务,如果需要启动其他服务,那么需要service参数来启动其他服务,比如thrift服务.metastore服务等.可以通过命令hive -- ...
- pyhanlp 两种依存句法分类器
依存句法分析器 在HanLP中一共有两种句法分析器 ·依存句法分析 (1)基于神经网络的高性能依存句法分析器 (2)MaxEnt依存句法分析 基于神经网络的高性能依存句法分析器 HanLP中的基于神经 ...
- win10 + VS2015 + 64位OSG3.4.0
一.下载 1.osg源码 2.整理好的第三方库 3.cmake3.7.1绿色版 4.osg3.4.0数据包 二.编译前的准备工作 在D:\下新建一个OSG文件夹,在其下再新建4个文件夹 D:\OSG\ ...
- [Java]JGit用法总结
clone public static void gitClone(String remoteUrl, File repoDir) { try { Git git = Git.cloneReposit ...
- Socket调用Close后如何终止套接口的问题
setsockopt 设置 SO_LINGER 选项 此选项指定函数close对面向连接的协议如何操作(如TCP).内核缺省close操作是立即返回,如果有数据残留在套接口缓冲区中则系统将试着将这些数 ...
- Android开发之环境配置篇
Android环境配置: 一.JDK(不用安装) 1.拷贝 D:\Java\jdk1.8.0_91 文件内容 2. 安卓ADT ADT(Android Development Tools):安装ADT ...
- bzoj2909: Bipartite Numbers
Description Bipartite Number是这样的一个正整数,他只能由两段相同的数组成,如44444411,10000000, 5555556,41,而4444114,44444则不是. ...
- P1033自由落体
传送 杯具wa,惨痛的教训————别写一些情况多到要打表的判断,写着写着就wa了 这个题,我主要死在判断上了 第一遍20分的思路:看小车此时跨越几个整数点.因为我求出了此时小车的车头坐标和车尾坐标.然 ...
- 继续循环continue
继续循环continue continue的作用是仅仅跳过本次循环,而整个循环体继续执行. 语句结构: for(初始条件;判断条件;循环后条件值更新) { if(特殊情况) { continue; } ...