阿花项目总结
用到了哪些知识点呢? 1:组件:类组件+装饰器(JS或者TS都可以) 2:mixin(创建标签) 1)需求:节约多次的代码书写 2):TS的写法不太一样 3:使用computed获取Vuex的数据,或者获取window.store的数据。自动根据依赖去缓存。TS中getter实现 4:watch装饰器的写法:@watch;选项怎么写 5:Prop,sync,v-model 6:插槽(Layout组件) 7:SVG,symbols 8:eslint 9:LocalStorage(5-10M) 思想: 表驱动变成::class={"key:value"} 模块化思想:Store 重构技巧: 命名严谨性: Vue Router Vuex
第八天
今天的这个问题有点难受
我在完成我的VUE项目的时候,我希望可以在一个单独的ts文件中定义我的变量,然后使我的变量可以被全局引用。我是这样想的,也是这样做的。但是后来我发现并不可以,我只好把我的变量定义到了当前文件,这个问题待解决
第七天
这一天我遇到了传说中的深拷贝
此时我正在完成我的记账代码,我希望每次记账后点击OK可以清零,并且我希望我的数据可以记录到Loacl Storage中,测试时我做了如下操作:先输入1块钱,记录如图所示

当我清空后,我继续输入2块钱,此时记录发生了变化,为什么我第一次的数据也变成了2块钱呢?


为什么会这样呢?因为我们在push的时候push的是引用,我没有对record进行一个复制的操作。当我第二次对record进行操作的时候,用图举例:

第六天
@Props(这里的类型),只写冒号后面的类型,示例如下:
@Prop() xxx!: boolean;
这种偷懒的写法会在很后面造成一个 bug。应该写成
@Prop(Boolean) xxx!: boolean;
为什么呢?原因是这样的:
左边的 Boolean 是跟 Vue 说 xxx 的类型是 Boolean(运行时类型)
如果不写左边的 Boolean,那么 Vue 就不知道 xxx 的类型是什么了,默认就把 xxx 当作字符串了
因此,当你给 xxx 传值时,Vue 会将其自动转换成字符串。而与我们的预期「xxx 是 boolean」不相符,这就是 bug。
第五天
git上传失败了怎么办
今天不知道为什么上传github代码一直失败,就总提示这个,这咱也不知道怎么办啊。

后来我就百度啊,百度说是github代码和本地代码版本不一样,尝试强势push还是不行。

好了,最后我试了一下。终于....
git log //这是决定生死的一行代码
然后按q键,Enter退出//好像不按Enter直接就退出了
git rebase --abort //就是这了!!!

git add .
git commit -m "更新信息"
git push -f origin master
我好了!我又可以了!
第四天
写Vue组件的三种方式(单文件组件)
1:用JS对象
export default {data,props,method,created,...}
2:用TS类
<script lang="ts">
export default class XXX extends Vue{
xxx.string - 'hi';
@Prop(Number) xxx:number|undefined;
}
3.用JS类
<script lang="js">
export default class XXX extends Vue{
xxx='hi'
}
第三天
TS的好处
1:自动提示更智能
2:不能随便写:toString
3: 编译报错,更严谨
如何使用TS来声明一个VUE组件
首先引入Component和Prop,从第三方库" vue-property-decorator"
<script lang="ts">
import Vue from "vue";
import { Component, Prop } from "vue-property-decorator";
@Component
export default class TYpes extends Vue {
type = "-";
@Prop(Number) xxx: number | undefined;
//Prop告诉Vue:XXX不是data是prop
//Number告诉Vue xxx 运行时是个 Number
//xxx属性名
//number | undefined告诉TSxxx的编译时类型
selectType(type: string) {
if (type !== "-" && type !== "+") {
throw new Error("type is unknown");
}
this.type = type;
}
}
</script>
第二天
当我在VUE中组件引入组件的时候发现怎么都引入不成功,我就去上网查询资料,后来发现,真的很尴尬
1:新建一个组件
2:在目标组件中引入组件
3:

有一天
当我使用SVG-Sprite-loader来引入所有的Icon,把所有的ICon变成SVG,结果发现:
Webstorm永远都无法import一个SCSS,因为Webstorm在使用loader的时候发现loader有问题,这个时候我遇到了困难,而我知道这个困难是怎么来了花费了一下午的时间。
当我发现了这个BUG之后我github 上找了相关问题的一些提示.