进入环境变量对话框,在系统变量下新建"NODE_PATH",输入”D:\ProgramFiles\Nodejs\node_global“。
beforeCreatedata和$el都没有初始化全部为undefined
createddata初始化完成,但$el没有初始化
beforeMountdata和$el均已存在,但DOM为虚拟DOM仍未完全加载eg:
mounteddata和$el均已存在,并且DOM加载完成,完成挂载
beforeUpdate渲染完成,并监测到data发生变化,在变化的数据重新渲染视图之前会触发,这也是重新渲染之前最后修改数据的机会
updated监测到data发生变化,并完成渲染更新视图之后触发
beforeDestory实例销毁之前调用,实例仍然完全可用。
destroyed实例销毁后调用。调用后,实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
另外还有keep-alive独有的生命周期,分别为activated和deactivated。用keep-alive包裹的组件在切换时不会进行销毁,而是缓存到内存中并执行deactivated钩子函数,命中缓存渲染后会执行activated钩子函数。
vue生命周期的应用场景:
beforeCreate可以在此时加一些loading效果,在created时进行移除
created需要异步请求数据的方法可以在此时执行,完成数据的初始化
mounted当需要操作dom的时候执行,可以配合$.nextTick使用进行单一事件对数据的更新后更新dom
updated当数据更新需要做统一业务处理的时候使用
"scripts":{"test":"echo\"Error:notestspecified\"&&exit1","dev":"webpack"},4.在项目根目录中新建一个webpack.config.js配置文件//这是使用Node语法,向外导出一个配置对象注意webpack.config.js是webpack的配置文件webpack在运行和打包的时候,会优先读取这个配置文件中导出的配置对象,根据用户指定的配置对象,来进行项目的编译默认在webpack4.x的版本中,要打包的文件路径是scr下的index.js,文件的输出路径是dist下的main.jsWebpack的配置文件中,支持使用module.exports语法,因为webpack这个工具就是基于node创建的注意:webpack.config.js是webpack的配置文件webpack在运行和打包的时候,会优先读取这个配置文件中导出的配置对象根据用户指定的配置对象来进行项目的编译webpack是基于node创建出来的默认在webpack4.x的版本中,要打包的文件路径是src->index.js->文件输出路径是dist->main.jsmodule.exports={//注意:在webpack的配置文件中,mode选项是必须要有的//而且在开发阶段一定要配置成development模式//只有项目要上线了才会配置成production模式mode:'production'//production(没有压缩过的文件)产品development(压缩过的文件)开发}}
方法一:exportvara=10..........方法二:export{a,.......}
created(){//通过bus的$on方法,可以为实例对象,绑定自定义事件;bus.$on('ooo',data=>{//把接收到的数据绑定到自己的data上this.msgFromGG=data})}
//render是和el,data平级的函数可以把指定的页面,渲染到index.html中render:function(createElement){//createElement形参是一个方法,作用是:把指定组件,渲染出来,并替换el/template所指区域returncreateElement(要渲染的组件)}也可以这样写:render:createElement=>createElement(要渲染的组件)//普通用法createElement('标签',{标签属性},[标签中的内容])
component是有vue官方提供的,作用就是根据is属性指定的名称,来展示指定的组件
//创建路由对象前端路由:hash值到组件的对应关系一个hash对应一个要展示的组件//创建路由规则(对应关系)//配置对象中要提供hash地址到组件之间的对应关系constrouter=newVueRouter({//routes是路由规则数组,其中的每个对象都是一天路由规则routes:[//这个routes就是路由规则的数组,里面要放很多的对应关系//路由规则的基本组成{path:'hash地址',component:配置对象(要展示的组件)},在path中,带冒号的,是路由参数项//通过redirect是属性,可以实现前端路由的重定向{path:'/',redirect:'/home'},//如果访问的是根路径就会跳转到指定路径{path:'/home',component:Home},{path:'/movie',component:Movie},{path:'/about',component:About,children:[//子路由{path:'/',component:''}]}]})//创建的router对象,千万要记得,挂载到vm实例上constvm=newVue({el:'#app',render:c=>c(App),router:router//把创建好的路由对象,一定要挂载到VM实例上,否则路由不会生效})
//在app.vue中使用router-link
{//redirect重定向path:'/movie',component:Movie,redirect:'/movie/in_theaters',//指定子路由规则children:[{path:'/movie/in_theaters',component:In_theaters},{path:'/movie/coming_soon',component:Coming_soon}]}
//test1.vue组件指令配置对象中的bind和inserted的区别
①基本使用直接定义一个我是子组件
{"plugins":["transform-runtime",[//+好表示要添加的项"component",{"libraryName":"element-ui","styleLibraryName":"theme-chalk"}]],"presets":["env","stage-0"]}
{"posts":[{"id":1,"title":"json-server","author":"typicode"}],"comments":[{"id":1,"body":"somecomment","postId":1}],"profile":{"name":"typicode"}}