vue-cli制作简历总结

这两天在看Vue的东西,发现个教程是基于vue-cli来做一个自动更新的简历。

敲了一遍,这里做一下总结。

这是原教程地址:https://github.com/jirengu-inc/animating-resume

其实自动更新的原理很简单,先把样式写好,放到一个字符串里,然后动态创建一个style标签,设置定时器setInterval,隔多少时间style标签里的样式自动更新一下,打开浏览器你会发现浏览器在不断的更新dom。

 var n = 0;
 setInterval(()=>{
      //code是预先写好的字符串
      this.code = this.code.substring(0,n);
      n++;
},1000)

这是基本的原理。

但是呢,放到vue-cli里面,具体代码可能要更改一下。

vue-cli是一个完整的构建工具,帮你省了许多配置工作。

按照官网教程先搭建一个基本的工程。下图是工程的目录

dir.png

我们一般把代码放到src目录下,组件放到components目录下,图片,css放入assets目录,main.js作为主程序。如下图所示

要注意的是,写好的组件要结尾要写成.vue格式

而这个.vue文件也有挺多套路的,拿其中一个组件styleEditor举例

<template>
 <div class="styleEditor" ref="container">    
    <div class="code" v-html="codeInStyleTag"></div>
    <pre v-html="highlightCode"></pre>
 </div>
</template>

<script>
//导入Prism库 实现语法高亮
import Prism from 'prismjs'

export default {
  name: 'Editor',
  props: ['code'],
  computed:{
    highlightCode:function(){
        return Prism.highlight(this.code,Prism.languages.css);
    },
    codeInStyleTag:function(){
        return `<style>${this.code}</style>`
    }
  },
  methods:{
        goBottom(){
            this.$refs.container.scrollTop = 99999;
        }
  }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
 .code {
    display: none;
  }
</style>

1.template标签里面写入dom结构。

2.需要用到什么库,使用import..from(库名)语句,前提是你已在package.json文件里填入相应依赖,并运行npm install成功安装。

3 .vue文件会输出一个default对象,在这里你可以使用计算属性computed,方法methods,还有添加属性数组props。

4.要注意,在default对象中data属性不再是以对象方式出现,而是

data(){
    return {
         //私有数据写在这儿
         key:value;      
     }
}

5.组件间相互联动依靠ref属性,再通过this.$refs.属性名 来做一些操作

6.最后的style标签填入组件样式。

7.引入写好的组件同样使用import语句,同时,在default的components对象加上组件名

最后总结一下这里主要知识点:

1.pre标签的使用

2.使用created()方法来操作元素,具体还有许多方法,详见vue生命周期图

3.this.$nextTick 下次dom刷新时的操控对象

4.对promise对象以及async函数的使用,优化异步

5.异步语句使用箭头函数捕获上下文

以上。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 这篇笔记主要包含 Vue 2 不同于 Vue 1 或者特有的内容,还有我对于 Vue 1.0 印象不深的内容。关于...
    云之外阅读 5,079评论 0 29
  • 1.安装 可以简单地在页面引入Vue.js作为独立版本,Vue即被注册为全局变量,可以在页面使用了。 如果希望搭建...
    Awey阅读 11,097评论 4 129
  • 转载 :OpenDiggawesome-github-vue 是由OpenDigg整理并维护的Vue相关开源项目库...
    果汁密码阅读 23,202评论 8 124
  • 早起所见的日光 晌午的阳光照在地面 午后之所见 夜之路~~~ 生活于数字世界中的一日 将近两个月之久‘以为’的‘忘...
    LuckySL阅读 375评论 0 0