转行前端,时间也不短了,也见识到了前端行业的蓬勃发展,以及一些新鲜技术的层出不穷。

由于自身计算机基础的薄弱,更加上一直没有遇上一个公司力推新技术,所以一直以来基本上都是靠着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的更多相关文章

  1. 六、VueJs 填坑日记之初识*.Vue文件

    上一篇博文中,我们将接口的地址通过webpack代理到了本地,解决了跨域的问题.在之前的文章中,我们一直对项目进行配置,并没有真正的切入正题,可能很多人还不明白我们要做什么?那么今天,我们就要开写代码 ...

  2. VueJS第2天 初阅API(初识MarkDown)

    指令是带有前缀 v-,以表示它们是 Vue 提供的特殊特性.可能你已经猜到了,它们会在渲染的 DOM 上应用特殊的响应式行为 v-bind --> 数据绑定 v-for --> 循环 v- ...

  3. day 81 Vue学习一之vue初识

      Vue学习一之vue初识   本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js ...

  4. 第1章-初识Vue.js

    一.初识Vue 1.1.本次我们学习的内容 常用指令:vue中最基础的内容 交互: 网络请求 组件: 是vue.js 这个框架 最核心,最精华的内容,因为vue呐,它在所有的框架中是把组件化做到了极致 ...

  5. Vuejs - 单文件组件

    为什么需要单文件组件 在之前的实例中,我们都是通过 Vue.component 或者 components 属性的方式来定义组件,这种方式在很多中小规模的项目中还好,但在复杂的项目中,下面这些缺点就非 ...

  6. Vuejs - 组件式开发

    初识组件 组件(Component)绝对是 Vue 最强大的功能之一.它可以扩展HTML元素,封装可复用代码.从较高层面讲,可以理解组件为自定义的HTML元素,Vue 的编译器为它添加了特殊强大的功能 ...

  7. Vue框架初识01

    摘要 vue简介 vue使用 一.Vue简介: 简介: Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 A ...

  8. 1、vueJs基础知识01

    vue是框架,vue.js是vue框架的核心js库 库:是一个封装好的特定的方法的集合,提供给开发者使用,库没有控制权,控制权在使用者手中.代表:jQuery.underscore.util 框架:框 ...

  9. day 80 Vue学习一之vue初识

    Vue学习一之vue初识   本节目录 一 Vue初识 二 ES6的基本语法 三 Vue的基本用法 四 xxx 五 xxx 六 xxx 七 xxx 八 xxx 一 vue初识 vue称为渐进式js框架 ...

随机推荐

  1. curl发送post请求,统计响应时间

    curl  -o /dev/null -s -w %{time_namelookup}::%{time_connect}::%{time_starttransfer}::%{time_total}:: ...

  2. Console下Pause效果的函数

    function PauseConsole(Prompt: PAnsiChar): boolean;var  hStdIn, hStdOut: THandle;  dwRd, dwWr, i: Car ...

  3. Hiero中修改BinView中binitem对象名字的方法

    之前博客提到了scan for more version这样一个功能,该功能会放宽查询条件,这就会导致BinItem的名称与activeVersion的名称不符.这篇博客提供了一个方法去统一名称. 该 ...

  4. Azure SQL 数据库仓库Data Warehouse (3) DWU

    <Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...

  5. 实例快速上手UDP和TCP的使用

    TCP和UDP两个协议在Java通信编程中是如何被使用的 UDP协议与TCP协议之间的区别不再分析,主要是分析一下这两个协议在Java通信编程中是如何被使用的.首先介绍TCP,对于TCP,Java语言 ...

  6. 微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  7. 安装node.msi 格式的文件失败

    in10 安装node.msi格式的文件,出现2503 2502 错误码, win+x 打开 在命令提示符窗口中输入: msiexec /package "安装msi格式的文件的全路径&qu ...

  8. 解决读取Excel表格中某列数据为空的问题 c#

    解决同一列中“字符串”和“数字”两种格式同时存在,读取时,不能正确显示“字符串”格式的问题:set xlsconn=CreateObject("ADODB.Connection") ...

  9. SQLServer数据库自增长标识列的更新修改操作

    SQLServer数据库自增长标识列的更新修改操作方法在日常的sql server开发中,经常会用到Identity类型的标识列作为一个表结构的自增长编号.比如文章编号.记录序号等等.自增长的标识列的 ...

  10. 测试教程网.unittest教程.5. 实例: 找出所有是弱密码的用户

    From: http://www.testclass.net/pyunit/test_example_3/ 背景 当我们的测试数据是下面这些的时候,我们的用例是有问题的. [ {"name& ...