环境搭建

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。

假设你已经通读vue官方文档(文档都没读一遍(至少),那不建议动手撸码),在大致了解vue是什么东西,有什么用,核心概念之后我们就可以开始着手学习vue。首先搭建环境。

学习vue,我的建议是通过官手脚手架起步。

>>>Installation$ npm install -g vue-cli>>Usage$ vue init <template-name> <project-name>>>>>Example:$ vue init webpack my-project

根据需要安装插件yes or no,一直回车,脚手架就生成了。接下来剖析脚手架结构。

脚手架结构剖析

再开始写项目之前,我们需要弄清什么地方写什么代码。

build文件夹

webpack配置文件。此处配置webpack规则。整个项目是通过webpack支持的。比如你要使用less,你需要在webapck规则里使用less。

src 文件夹

撸码的地方~基本你所有的代码都在这一块完成。

assets文件夹

存放web中引用的图片 媒体资源。

components文件夹

主要存放可复用组件,你可以在任意页面中复用这些组件。

router文件夹

index.js 路由配置文件。在此处配置各个页面的跳转引用关系。

APP.vue

这里看一看做页面的根部。我们可以在这个页面进行一些css reset 操作。

main.js

根逻辑,页面加载首先会加载这份js文件。

static文件夹

主要存放外部引用资源。比如xxx.min.js

index.html

vue是spa应用,所以只有一个入口,也就是index文件,这里我们进行一些不可更改资源(比如某某库)的引用,和html页面meta 、title之类的设定。

vue核心概念

vue的核心概念是‘数据驱动’,假如我们需要切换view层,我们应该修改的是数据。下面我会分享一些我自己在学习vue中收获的一些实例,大家自行感受。

实例展示的是方法论,概念性一样的东西,不要被例子局限,要将思维扩散出去。知识点学习还是看官方文档为主。

vue如何处理dom显示,样式切换,动态样式

watch 和 computed的 简析

vue提供了2个动态监测data的函数,一个是watch,一个是computed。

watch: 主要监测已经存在的data,处理data变化后的钩子

computed: 处理一个已存在的data,返回一个data

vuex 是一个比较好的例子,可以用来学习监测,什么时候用什么方法去处理这些变化。

v-for 列表渲染机制

v-for 是我认为vue中一个非常非常强大的指令,所有规律性动态数据的展示,都可以用for指令来完成。
v-for是非常强大,可以追踪循环体内任意一个值的变化,针对变化来单独渲染。

v-for 建议仔细阅读官方文档,而不是通读。在项目中,我们应该养成习惯。对于可变化的,规律性数据都采用for指令渲染。 我之所以又把for指令写了一遍,是因为我在开始写vue时,根本就没有活用for指令的简便和强大,还是古老的ul li 循环,繁杂的事件绑定委托。估计人类本性对一个东西还不太了解的时候会习惯性的用自己熟悉的方式去操作的原因。

vue中引入组件以及父子组件的数据交互

关于组件,任意vue文件你都可以看做一个组件。 在项目中我们一般使用的应该都是单文件组件,单文件组件与页面结构无异,是具有完整功能的一个模块。比如一个评论框,你就可以剥离成一个组件,在任意页面文件中引入这个组件。

vue过滤器

在有一些业务场景需要对数据进行一些转换,比如后端图片地址的前缀匹配,这个时候filters就派上大用场了。看个例子感受一下。

vue路由

路由对于spa应用的重要性不言而喻,整个应用的页面关系都是通过路由定义的。我们先来看看一个路由文件大致是什么样子

vue 使用history模式,我们就可以去使用history的API,需要在路由配置中启用。默认hash模式,history模式也是一般应用的常用模式。

//切换当前地址,同 history.replaceStatethis.$router.replace({name: 'list'})
//向history推入一级,同history.pushthis.$router.push({name: 'list'})
//添加参数this.$router.push({name: 'list', query: {setting: 'setting'}})//监测路由变化
watch:{'$route': function () {//处理事件}},》》》》可以在页面任意处打印this.$route查看路由对象

vue的路由配置相对来说,是比较简单的,阅读一遍router文档,就可以快速上手。

路由是非常重要的一块,在动手开始写你的vue项目之前,你非常有必要通读一遍路由文档。而不是碰到问题再去解决。嵌套路由,动态路由会对你的开发起到非常有用的帮助。官方路由

可监测的全局变量——vuex

项目开发中,往往我们会有一些全局变量,但是正常全局变量,vue是不能监测的,这个时候vuex就派上用场了。 vuex官方文档

npm install vuex --save//安装好vuex后,我们先新建一个store文件夹,存放vuex相关文件,如下图所示
>>>>> index.jsimport Vue from 'vue'
import Vuex from 'vuex'
import modulesApp from './modules/app'  //引入一个app模块
Vue.use(Vuex)let store = new Vuex.Store({strict: process.env.NODE_ENV !== 'production',modules: {app: modulesApp}
})export default store———————————————— 分割线——————————————————>>>>>app.js    //这里是个我的示例结构,可以查阅文档选择自己喜欢的书写方式let state = {height: document.documentElement.scrollHeight + 'px',total: 1,list: [],};let getters = {};let mutations = {height: state => state.height = document.documentElement.scrollHeight + 'px',totalChange (state, total) {state.total = total},listChange (state, list) {state.list = list},};let actions = {};export default {state,getters,mutations,actions
}

如何开始写第一个demo项目

看完以上内容,想必大家对vue都有了进一步的了解。在通读官方文档后,我们对vue都有一个大致的了解,这样其实对于新手而言还是没有方向去写一个demo出来的,我们往往想写个漂亮的demo,但这样就必须花大量时间去写html和css,这点博主深有体会,看了2遍文档后还是不知道怎么去入手写个demo练手。这里博主有个建议就是:

专注于vue本身,而不是花过多的时间去写html,css。

以上我们已经搭建了一个vue开发环境,接下来就是找一款心仪的UI组件库,博主这里推荐iview,个人感觉挺漂亮。然后就是构思你的demo要写什么,好了,拖组件搭UI,开始写真正写项目代码把,把更多时间花在vue学习之上。

转自:https://www.cnblogs.com/buzhiqianduan/p/7620102.html

vue 各组件 使用 Demo相关推荐

  1. Vue异步组件Demo

    Vue异步组件Demo 在大型应用中,我们可能需要将应用拆分为多个小模块,按需从服务器下载.为了进一步简化,Vue.js 允许将组件定义为一个工厂函数,异步地解析组件的定义.Vue.js 只在组件需要 ...

  2. Vue父组件网络请求回数据后再给子组件传值demo示例

    QQ技术交流群 173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票 这里demo使用延迟执行模拟网络请求:父组件给子组件需要使用自定义属性 Prop ,下面是示例代码: &l ...

  3. Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例

    2019独角兽企业重金招聘Python工程师标准>>> element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组 ...

  4. 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo

    谈谈我对前端组件化中"组件"的理解,顺带写个Vue与React的demo 前言 前端已经过了单兵作战的时代了,现在一个稍微复杂一点的项目都需要几个人协同开发,一个战略级别的APP的 ...

  5. 利用webpack和vue实现组件化

    原文链接:http://mrzhang123.github.io/2016/06/02/webpack-vue-3/ 本文基于vue1.x 基于vue2.x&webpack2.x请移步至 Vu ...

  6. vue上传图片组件编写

    点击打开源码 https://github.com/317482454/vue_upload 在线查看地址:http://jqvue.com/demo/vue_upload/demo.html 编写一 ...

  7. 16款优秀的Vue UI组件库推荐

    16款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  8. 17款优秀的Vue UI组件库汇总

    17款优秀的Vue UI组件库推荐 Vue 是一个轻巧.高性能.可组件化的MVVM库,API简洁明了,上手快.从Vue推出以来,得到众多Web开发者的认可. 在公司的Web前端项目开发中,多个项目采用 ...

  9. vue 根据组件地址动态加载异步组件

    要求:根据列表中配置的组件地址,动态加载组件(webpart) vue 根据组件地址动态加载异步组件 目录结构 index.html components/component1 components/ ...

最新文章

  1. 蚂蚁金服大佬自述:保持学习力,永远胜过不切实际的一夜暴富幻想!
  2. python本地读csv文件_python读写csv文件方法详细总结
  3. 现代密码学2.2、2.3--由“一次一密”引出具有完美安全的密码方案共同缺点
  4. spring中的CGLIB动态代理(代码)
  5. 计算机组成西电裘答案,西电计算机组成原理.ppt
  6. mysql 删除not null_从MySQL的列中删除NOT NULL限制?
  7. 【C++学习】C++中的强制转换
  8. [转帖]升级 Ubuntu,解决登录时提示有软件包可以更新的问题
  9. 牛客网-Technology Tree
  10. Redis各个数据类型的使用场景
  11. delphi mysql类_Delphi MySQL数据库操作类
  12. Excel 2010 VBA 入门 109 获取某列最后非空单元格行号
  13. 富文本带图片导出word
  14. CodeForces 645D Robot Rapping Results Report
  15. 科学计算方面的计算机应用,计算机在科学计算方面的应用
  16. 【嵌入式小技巧】STM32 实现 SEGGER RTT 打印(超详细)
  17. scrapy框架下的豆瓣电影评论爬取以及登录,以及生成词云和柱状图
  18. 最全总结 | 聊聊 Python 办公自动化之 Word(中)
  19. 高质量程序设计指南C/C++阅读笔记
  20. Asynchronous Methods for Deep Reinforcement Learning-笔记

热门文章

  1. Java中接口的多继承
  2. 人体轮廓_女性人体油画轮廓柔和生动,优美动人,你喜欢吗?
  3. qt5.3.1+opencv2.4.9编译环境的搭建
  4. *【HDU - 6201】transaction transaction transaction(树形dp 或 spfa最长路 或 网络流)
  5. Centos7换yum源
  6. java中jframe不存在怎么办,java – 设置JFrame背景,为什么这不起作用?
  7. python基础小白题3
  8. 在页游中LUA的应用(1)
  9. Linux(9)--添加新用户+赋sudo权限
  10. 《C++ Primer 5th》笔记(7 / 19):类