day 79生命周期钩子、Vue项目开发

守給你的承諾、 提交于 2019-11-27 00:32:53

一、生命周期钩子

  用处:在组件从创建到销毁过程中的某个时间节点,想要完成的某个事,如,在组件创建完成后,想要干嘛干嘛,在被销毁后想要做某些事。

     再比如created钩子: 组件创建后,渲染前,可以请求后台,拿到最新的数据更新完成后,再渲染到页面,这样页面上就是数据库中最新的数据了 

     而mounted:页面被渲染后,的钩子 

     访问methods要通过$options

      console.log(this.$options.methods)

  生命周期钩子案例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Vue组件的生命周期钩子</title>
</head>
<body>
    <div id="app">
        <div>
            <h1>什么是生命周期钩子</h1>
            <h1>一个Vue子组件从创建到销毁整个生命周期过程中一些时间节点回调的方法</h1>
        </div>

        <local-tag></local-tag>
    </div>

</body>
<script src="vue/vue.js"></script>
<script>
    let localTag = {
        template:`
        <div>
            <h2 @click="btnClick"> {{msg}}</h2>
        </div>
        `,
        data (){
            return{
                msg:"局部组件",
                x:'aa',
                y:123,
            }
        },
        methods:{
            btnClick (){
                console.log(this.msg)
            }
        },
        beforeCreate (){
            console.log('组件开始创建,数据和事件都未创建');
            console.log(this.msg);  // undefined说明数据还未创建
            console.log(this.btnClick); //undefined说明事件还未创建
            console.log(this.$data); //undefined
            console.log(this.option.methods)
        },
        created (){
            console.log('组件已经创建完毕,数据与事件都准备就绪');
            console.log(this.msg); // 局部组件  [数据有了]
            console.log(this.btnClick); // 事件也有了  ƒ btnClick (){console.log(this.msg)}
            console.log(this.$data);  // {__ob__: Observer}
            console.log(this.option.methods)
        },
    };
    new Vue({
        el:'#app',
        components:{
            localTag,
        },
    })
</script>
</html>
View Code

 

二、Vue项目开发【环境、项目创建、组件.vue、路由、仓库、cookie

  1. 搭建Vue环境

   创建Vue项目 => 要有Vue环境 => 要安装Vue =>要有一个命令行的商城npm 【就像pip 专门给python 安装模块一样】

   安装npm商城=>要有一个node环境, node.js是C++写的,内部封装了socked,是能启服务的,启动后是能运行js脚本的【类比pip需要python环境】

      所以前端项目就可以run在node服务器上,所有的项目运行的依赖就由npm来帮助我们来安装各种插件

   1)安装node

      官网下载安装包,傻瓜式安装:https://nodejs.org/zh-cn/

   2)  安装npm 【cnpm国内的安装源,速度快】

      node安装后就已经有了npm, 通过npm安装cnpm 【国内源】

      npm install -g cnpm --registry=https://registry.npm.taobao.org

   3)安装脚手架

      cnpm install -g @vue/cli

     4)清空缓存处理

      若上面哪一步安装有问题,就执行一下下面命令,重新安装上面对应的命令

      npm cache clean --force

  

  2.创建Vue项目,

   要提前进入目标目录(项目应该创建在哪个目录下)

   选择自定义方式创建项目,

     vue create  项目名     或 vue ui   【可视化创建】

     参数设置:回车=>确定;空格键=>选定或取消

     参数:* Manually select features  【自定义的】

 

        * Babel 【把ECMS6转换ECMS5, 因为EMS5浏览器支持更好】

           PWA【优化Web 的】

        *  Router  【路由,前台页面自己完成路由转跳】

        * Vuex 【仓库,全局的单例,子孙组件数据传递】

         CSS  【预编译的语言】

        *   Linter /  Formatter【统一代码格式的】

          Unit Testing  /  E2E Testing  【测试】

 

     选择大写的:

         *Use history......(Y/n)  Y  =>回车 【形成历史转跳】

         * ESLint  with error  prevention only 【有错误或者没错误的提示】

 

         * Lint on save  【能保存】

           Lint and fix on commit (requires Git)   【代码整合工具,必须要有git环境,暂时用不到】

 

          * In dedicated config files  【是否将上面选择的设置创建单独的配置文件?】

            In package.jason 【上面选择的设置放在这个文件中】

    

          Save this as a preset for future projects?(y/N)  N   【是否保存上面的设置到后面项目中,如果选了Y,后面就改不过来了】

   3. 启动服务

    进入项目:cd vue-proj

    启动服务:npm run serve  |   cnpm run serve

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!