vue-知识点总结

资源来自转载:前端大全公众号

1.框架和库的区别

框架(framework):有着自己的语法特点、都有对应的各个模块。

库(library):专注于一点。

框架的好处:

vue学习-子组件传值

构建项目在这里不做介绍 , 直接上关于组件传递数据的代码吧

我在这里做的是一个关于弹层的删除操作例子(弹层是自己写的一个组件,没有用elementUI、iView等框架)

实现弹层的显示隐藏有很多种方法。后续我会写成文档添加到blog,欢迎关注!

父组件

html:

1
2
3
4
5
6
7
// 点击按钮触发事件操作 this.flag.flag_dialog_delete = true;
// 组件dialogDel上@close="close",你们知道哪个是子组件的close,哪个是父组件的close么?
// 不凡自己试试,如果不知道答案欢迎评论,我做正确回答

<div v-show="flag.flag_dialog_delete">
<dialogDel @close="close"></dialogDel>
</div>

Push到github时,频繁输入用户名和密码

问题

此问题之前没有出现的,直到最近一次,项目需要,增加了项目SSH密钥之后,就出现了title中的问题。尴了个尬

原因

原因是使用了https方式 push
这种方式产生的原因,一般是我们clone是一定是使用了http的方式
例如我们在github上创建了一个项目,然后我们clone到本地时使用了http/https而非git

1
git clone https://github.com/***/***.git

一台电脑如何管理多个平台SSH KEY

多平台多个git-SSH密钥,对于我们开发人员来说非常有必要,你要玩转github,coding,gitlib,gerrit,还有你提交代码在公司和别处还得用公司邮箱和XX邮箱区分开,如果你玩过github,恰好你们公司也用git,你是不是还被提交的署名邮箱玩坏了,这里统统都不要,配置全搞定。
一台电脑上(Mac os)管理多个平台使用ssh key,可以任意切换,达到多用户(账号)使用不同ssh提交代码。
以下利用 gerritgithub 账号来做例子。

  • 1、生成ssh key

    1
    ssh-keygen -t rsa -C "youremail@yourcompany.com"

Vue-select插件实现利弊

element实现select功能:

组件功能确实还挺丰富的,当时绑定的时候,返回的是字符串,好不容易绑定上对象,还要绑定什么value-key属性,其实压根不知道干嘛用,这还不算,当需要绑定值为对象时,绑定value,key,。他们通过什么来绑定model,都会或多或少出现问题:这就尴尬了。
正常的:如下代码也就oK了。

1
2
3
<select class="custom_select" v-model="resource" @change="changeResource(resource)" placeholder="">
<option v-for="(resource,key) in resourceList" :value="resource">{{resource.name}}</option>
</select>

Vue-文件上传功能(另类不如自己实现)

elementUI组件其实已经很方便的使用上传功能,但是有很多弊端,感觉不是很好用,在自己用elementUI的upload实现上传功能感觉很累赘(绑定一堆的方法,绑定一堆的变量,绑定出错还得费时费力去调试……)

  • ‘eg’:我就遇到个问题,上传只能上传一个文件,用插件实现的话,还得单独写个,关键还不知道往哪个方法里写,调试了很久也没调好。果断放弃了。

  • ‘eg’:选择文件夹,反而还做不到,无语ing,我要做一个选择多张图片,不是234张,是好几十张,让我选择一堆图片,烦不烦,我就选个文件夹不久解决了,element反而做不到。。。

  • ‘eg’:存储数据不方便,最主要的就是,绑定一堆乱七八糟的方法和变量,有时候(需要特殊处理的时候)就是不管你怎么操作,就是不对。

vue常用组件使用以及配置

* 路由

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import Vue from 'vue'
import VueRouter from 'vue-router'
// 引用路由配置文件
import routes from './config/routes'
// 使用配置文件规则
const router = new VueRouter({
routes: routes
})
// 跑起来吧
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App }
})