环境安装&脚手架生成
npm install -g vue-clivue init webpack vue_democd vue_demonpm installnpm run dev
访问: http://localhost:8080/ , 即可看到最简单效果。
项目打包
npm run build
发布1:使用静态服务器工具包
npm install -g serveserve dist
发布2:使用动态web服务器(tomcat)
修改配置:webpack.prod.conf.jsoutput:{publicPath:'/xxx'}重新打包npm run build将dist文件夹命名为项目名:xxx将xxx拷贝到运行tomcat的webapps目录下访问:http://localhost:8080/xxx
目录理解 & 新增Router
- router目录下index.js文件 : 就是路由确认有哪些接口可访问。
- app.vue是全局底层模版,相当于一般Footer和Header,其中
是代码嵌入的地方。 - 试图新增一个H文件和help目录看看
import Vue from 'vue'import Router from 'vue-router'import HelloWorld from '@/components/HelloWorld'import H from '@/components/H' //新增Vue.use(Router)export default new Router({routes: [{path: '/',name: 'HelloWorld',component: HelloWorld},{ //新增path: '/help', //新增name: 'H', //新增component: H //新增}]})
- 新增components/H.vue文件
<template><div class="hello"><h1>{{ msg }}</h1></div></template><script>export default {name: 'H',data () {return {msg: 'WWWWWWWWWWW to Your Vue.js App'}}}</script><!-- Add "scoped" attribute to limit CSS to this component only --><style scoped>h1, h2 {font-weight: normal;}ul {list-style-type: none;padding: 0;}li {display: inline-block;margin: 0 10px;}a {color: #42b983;}</style>
访问:http://localhost:8080/#/help
基本概念
- 不要在子组件中直接修改父组件的状态数据。
- 数据在哪,更新数据的行为(函数)就应该定义在哪。
组件间通信方式
- props
- vue的自定义事件
- 通过v-on绑定
- 通过$on()绑定
- 触发事件
- 消息订阅与发布(pubSubJS库)
- PubSub.subscribe(‘msg’,function(msg,data){})函数
- PubSub.publish(‘msg’,data)函数
- slot
- 用于父组件向子组件传递·标签数据·
- vue-ajax
- axios库
vue UI组件库
- 常用:Mint UI,Element
常规需求:
- 数据状态变化?
- URL跳转?
理解VueJS的MVVM
- data Binding和view(dom)、model(plain JAvascript Objects)分开。
- v-bind:数据绑定
- v-on:事件绑定
- 条件渲染(v-if)
- 循环列表语句(v-for)
- 事件处理(@click)
- Vue实例生命周期(create -> mount -> update -> destory)
- 过渡 & 动画
- 过滤器(Vue.filter)
- 注册全局指令,注册局部指令。
- 自定义插件(plugin)
