了解vue2.x的核心技术
建立前端组件化的思想
常用的vue语法
vue-router,vuex,vue-cli
使用vue-cli工具
Vue框架常用知识点
vue核心技术
集成Vue
重点看,重点记
模板语法,条件渲染,列表渲染 vuex,vue-router
v-bind属性绑定,事件绑定 Class与Style绑定
workflow工作流 单页面 Cli工具登录环境

image.png

image.png
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bashor Wget:
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bashexport NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
image.png

image.png

image.png
开发环境: ide,node.js,调式环境,工程环境
node --version
npm i -g vue-cli
vue --version环境: ide: webstrom,vscode
npm: vue-cli,webpack,cnpm,nvm
Chrome: Vue调式插件
Vue: 声明式渲染 条件渲染 列表 事件
热部署:gulp,webpack
认识样式:sass,postcss
模板语法 计算属性 Class,Style绑定 条件渲染 列表渲染 事件处理 表单输入绑定
组件基础,生命周期,模块化的思想
组件:
 组件通信方式:props,$parent,emit event,Vuex
动画,vue-router, Vue-resource
常用api: vue-use props dom
部署,服务器端渲染,打包编译
vue,基础概念,组件,api,部署
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
hello world!!
</body>
</html>BootCDN 稳定、快速、免费的前端开源项目 CDN 加速服务
Vue 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合

image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg">
    hello world!!
    {{msg}}
</div>
<script>
    new Vue({
        el: '.bg',
        data: {
            msg: 'hello vue!'
        }
    })
</script>
</body>
</html><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg" id="app">
    hello world!!
    {{msg}}
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            msg: 'hello vue!'
        }
    })
</script>
</body>
</html>vue.js cdn使用
vue的文件结构: template script style
模板语法包含插值,指令
// 错
{{template}}
<script>
 new Vue({
  el: '#app',
  data: {
   msg: 'hello vue!!',
   count: 0,
   template: '<div>hello template</div>'
  }
})
</script><!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg" id="app">
    hello world!!
    {{msg}}
    <div v-html="template"></div>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            msg: 'hello vue!',
            template: '<div>hello dashucoding</div>'
        }
    })
</script>
</body>
</html><!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .bg {
            color: red;
        }
    </style>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div class="bg" id="app" v-bind:id="bg1">
    hello world!!
    {{msg}}
    {{count}}
    <div v-html="template"></div>
    <a v-bind:href="url">百度</a>
    <a :href="url">百度</a>
    <button type="button" v-on:click="submit()">加</button>
    <button type="button" @click="submit()">加</button>
</div>
<script>
    new Vue({
        el: '#app',
        data: {
            bg1: 'app-bind',
            msg: 'hello vue!',
            template: '<div>hello dashucoding</div>',
            url: 'http://www.baidu.com',
            count: 0
        },
        methods: {
            submit: function() {
                this.count++
            }
        }
    })
</script>
</body>
</html>vue文件结构
 插值语法{{msg}}
 数据
 js表达式
 指令
@click
v-if
:href计算属性:computed
侦听器:watch
使用场景:

image.png
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
</head>
<body>
<div id="app">
    {{msg}}
    <p>{{msg1}}</p>
</div>
<script>
    var arr = 'da'
    var app = new Vue({
        el: '#app',
        data: {
            msg: 'Hello Vue!',
            another: 'another hello'
        },
        // 监听
        watch: {
            msg: function (newval, oldval) {
                console.log('newval is:'+newval)
                console.log('oldval is:'+oldval)
            }
        },
        computed: {
            msg1: function () {
                return 'computed:' + this.msg + "," + this.another + arr
            }
        }
    })
</script>
</body>
</html>arr改变时不会变化,只有msg1里面的内容改变才会发生变化
watch异步场景,computed数据联动
条件渲染:
v-fi
v-else
v-else-if
v-show列表渲染:
v-for<div id="app">
 <div v-if="count>0">
 </div>
 <div v-else>
 </div>
</div><div v-for="item in list">{{item}}</div>
<div v-for="item in list">{{item.name}}</div>
<script>
new Vue({
 el: '#app',
 data: {
 list: [{
 name:
 age
 },{
 }]
}
})v-bind:style="{ 'color': 'red' }"
v-bind:style="styleMsg"
:class="{ 'active': ture }"
:style="styleMsg"
data: {
 style: {
 colord: red
 },
 
 styleMsg: {
  color: 'red',
  textShadow: '0 0 5px green'
 }
}<div v-show=""
:class="[ 'active', 'add', 'more', { 'another' : ture } ]"
:style="styleMsg">工程化,页面代码规范,调式vue