vue-vue.js个人视频学习笔记(一)

学习b站 coderwhy老师 教学视频的 vue-vue.js 个人学习笔记

  • 2019年coderwhy vue-vuejs从入门到精通教程

文章目录

          • p49-input值绑定
          • p50 v-model 绑定
          • p51 - p53组件化、全局组件 和 局部组件
          • p54 - p56 父组件和子组件
          • p57 为什么 组件data必须是函数
          • p58-60 父子组件通信
          • p61-62介绍
          • p63双向绑定和监听(理解,精辟)
          • p64画图解析p63
          • p65watch用法
          • p66 $children 和 $refs 的用法
          • P68 slot插槽
          • p70 编译作用域
          • P71 插槽作用域的使用(传递子组件数据位列父组件插槽)
          • p72 为什么需要模块化
          • P73 怎么使用模块化
          • p74 ES模块化的导入和导出
          • P75 webpack安装
          • P76 js打包
          • p77 webpack 打包
          • P78 webpack中css的配置
          • P79 less文件处理
          • P80 图片文件处理
          • P81 ES6转ES5的babel(解决一些浏览器不兼容的问题)
          • P82 webpack配置vue
          • P83 创建vue时,template和el的关系
          • P84 花式写法
          • P85 横幅plugin的使用
          • P86 HTMLwebpackplugin的使用
          • P87 js压缩plugins(UglifyjsWebpackPlugin)
          • P88 webpack-dev-server 搭建本地服务器
          • P89 配置文件分离
          • P90 vue-cli 的介绍和安装
          • P91 vue-cli初始化过程
          • P92 vue-cli2目录结构解析
          • P93 总结

p49-input值绑定

1596764501948

vue-vue.js个人视频学习笔记(一)_第1张图片

vue-vue.js个人视频学习笔记(一)_第2张图片

p50 v-model 绑定

vue-vue.js个人视频学习笔记(一)_第3张图片

p51 - p53组件化、全局组件 和 局部组件

vue-vue.js个人视频学习笔记(一)_第4张图片

vue-vue.js个人视频学习笔记(一)_第5张图片

vue-vue.js个人视频学习笔记(一)_第6张图片

vue-vue.js个人视频学习笔记(一)_第7张图片

vue-vue.js个人视频学习笔记(一)_第8张图片

vue-vue.js个人视频学习笔记(一)_第9张图片

vue-vue.js个人视频学习笔记(一)_第10张图片

全局组件 和 局部组件

vue-vue.js个人视频学习笔记(一)_第11张图片

vue-vue.js个人视频学习笔记(一)_第12张图片

vue-vue.js个人视频学习笔记(一)_第13张图片

p54 - p56 父组件和子组件

vue-vue.js个人视频学习笔记(一)_第14张图片

vue-vue.js个人视频学习笔记(一)_第15张图片

另一种写法:局部组件

vue-vue.js个人视频学习笔记(一)_第16张图片

vue-vue.js个人视频学习笔记(一)_第17张图片

另一种写法:全局组件

vue-vue.js个人视频学习笔记(一)_第18张图片

  • 模板分离写法第一种

vue-vue.js个人视频学习笔记(一)_第19张图片

  • 模板分离写法第二种

    vue-vue.js个人视频学习笔记(一)_第20张图片

vue-vue.js个人视频学习笔记(一)_第21张图片

p57 为什么 组件data必须是函数
  • 组件可以访问vue实例数据吗?

    vue-vue.js个人视频学习笔记(一)_第22张图片

    vue-vue.js个人视频学习笔记(一)_第23张图片

    解决方法:注册组件绑定组件的地方设置data,并且data是一个方法

    vue-vue.js个人视频学习笔记(一)_第24张图片

    p58-60 父子组件通信
    
    <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="UTF-8">
        <title>Titletitle>
    head>
    <body>
    
    <div id="app">
        <cpn v-bind:cmovies="movies" @getchild="sout">
        cpn>
    
    div>
    <template id="cpn">
        <div>
            <ul>
                <li v-for="item in cmovies">
                    <button @click="send(item)">{
          {item.name}}button>
                li>
            ul>
    
            
        div>
    template>
    <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js">script>
    <script>
       const cpn = {
            
           template:'#cpn',
           props:{
            
               cmovies:Array,
               cmessage:{
            
                   type:String,
               },ccount:{
            
                   type: Number
               }
    
           },
           methods:{
            
               send(item){
            
                   this.$emit('getchild',item)
                   // console.log(item)
               }
           }
       }
    
        const app = new Vue({
            
            el:'#app',
            data:{
            
                message:'JY',
                movies:[{
            
                    id:1,name:'kobe'
                },{
            
                    id:2,name:'james'
                },{
            
                    id:3,name:'bilibili'
                },{
            
                    id:4,name:'cici'
                }]
            },methods:{
            
                sout(item){
            
                    console.log(item.name)
                }
            },
            components: {
            
                'cpn':cpn
            }
        })
    script>
    body>
    html>
    
p61-62介绍
p63双向绑定和监听(理解,精辟)
p64画图解析p63
p65watch用法
p66 $children 和 $refs 的用法

p67 parent 用法

P68 slot插槽

一个预留空间,实际使用根据不同情况插入不一样的东西,有很强的拓展性

vue-vue.js个人视频学习笔记(一)_第25张图片

vue-vue.js个人视频学习笔记(一)_第26张图片

p69 slot 用法

vue-vue.js个人视频学习笔记(一)_第27张图片

p70 编译作用域

找自己作用域

vue-vue.js个人视频学习笔记(一)_第28张图片

P71 插槽作用域的使用(传递子组件数据位列父组件插槽)

1596956964069

p72 为什么需要模块化

繁杂的js堆叠,不可服用,缺少灵活性,

P73 怎么使用模块化

vue-vue.js个人视频学习笔记(一)_第29张图片

vue-vue.js个人视频学习笔记(一)_第30张图片

vue-vue.js个人视频学习笔记(一)_第31张图片

p74 ES模块化的导入和导出

1597051350823

vue-vue.js个人视频学习笔记(一)_第32张图片

vue-vue.js个人视频学习笔记(一)_第33张图片

如果要导入很多属性或者方法

vue-vue.js个人视频学习笔记(一)_第34张图片

P75 webpack安装

vue-vue.js个人视频学习笔记(一)_第35张图片

P76 js打包

vue-vue.js个人视频学习笔记(一)_第36张图片

vue-vue.js个人视频学习笔记(一)_第37张图片

p77 webpack 打包

vue-vue.js个人视频学习笔记(一)_第38张图片

vue-vue.js个人视频学习笔记(一)_第39张图片

设置入口和出口

vue-vue.js个人视频学习笔记(一)_第40张图片

为了防止npm和本地环境不符合,除了全局安装还需要局部安装

进入目录文件 npm install webpack @3.6.0 --save-dev

vue-vue.js个人视频学习笔记(一)_第41张图片

vue-vue.js个人视频学习笔记(一)_第42张图片

P78 webpack中css的配置

安装loader才可以使用(注意版本问题,版本过高也会运行不起来)

vue-vue.js个人视频学习笔记(一)_第43张图片

vue-vue.js个人视频学习笔记(一)_第44张图片

vue-vue.js个人视频学习笔记(一)_第45张图片

P79 less文件处理

如果直接添加sprcial.less 然后require导入到项目中,运行会报错(没安装less相关的loader)

vue-vue.js个人视频学习笔记(一)_第46张图片

下载安装 less npm install --save-dev less-loader less

配置config

vue-vue.js个人视频学习笔记(一)_第47张图片

书写less文件

vue-vue.js个人视频学习笔记(一)_第48张图片

P80 图片文件处理

同样,直接写img属性打包后会报错,需要安装url-loader

vue-vue.js个人视频学习笔记(一)_第49张图片

配置处定义规则

vue-vue.js个人视频学习笔记(一)_第50张图片

小文件有限制,如果要大文件,需要 file-loader

vue-vue.js个人视频学习笔记(一)_第51张图片

vue-vue.js个人视频学习笔记(一)_第52张图片

vue-vue.js个人视频学习笔记(一)_第53张图片

P81 ES6转ES5的babel(解决一些浏览器不兼容的问题)

vue-vue.js个人视频学习笔记(一)_第54张图片

添加配置

exclude打包的时候排除一些没有用上的

vue-vue.js个人视频学习笔记(一)_第55张图片

P82 webpack配置vue

安装vue npm install vue
vue-vue.js个人视频学习笔记(一)_第56张图片

vue-vue.js个人视频学习笔记(一)_第57张图片

默认是runtime-only 不能识别template 所以需要在配置类改成 runtime-compiler 所属的js

vue-vue.js个人视频学习笔记(一)_第58张图片

P83 创建vue时,template和el的关系

template的内容会镶嵌进去id=app的div中

vue-vue.js个人视频学习笔记(一)_第59张图片

vue-vue.js个人视频学习笔记(一)_第60张图片

P84 花式写法

vue-vue.js个人视频学习笔记(一)_第61张图片

vue-vue.js个人视频学习笔记(一)_第62张图片

但是这样依旧是不够

vue-vue.js个人视频学习笔记(一)_第63张图片

vue-vue.js个人视频学习笔记(一)_第64张图片

P85 横幅plugin的使用

vue-vue.js个人视频学习笔记(一)_第65张图片

vue-vue.js个人视频学习笔记(一)_第66张图片

P86 HTMLwebpackplugin的使用

vue-vue.js个人视频学习笔记(一)_第67张图片

vue-vue.js个人视频学习笔记(一)_第68张图片

vue-vue.js个人视频学习笔记(一)_第69张图片

vue-vue.js个人视频学习笔记(一)_第70张图片

P87 js压缩plugins(UglifyjsWebpackPlugin)

vue-vue.js个人视频学习笔记(一)_第71张图片

效果对比

1597399038291

P88 webpack-dev-server 搭建本地服务器

修改代码可实时生效,不用每次都打包build,因为可能要打包很久,搭建本地服务器可以修改好再打包

port:默认8080

vue-vue.js个人视频学习笔记(一)_第72张图片

vue-vue.js个人视频学习笔记(一)_第73张图片

P89 配置文件分离

分配不同环境分配不同的配置,例如开发环境,生产环境 的配置,公共的放在一个配置文件

vue-vue.js个人视频学习笔记(一)_第74张图片

合拼配置文件需要安装 webpack-merge

vue-vue.js个人视频学习笔记(一)_第75张图片

vue-vue.js个人视频学习笔记(一)_第76张图片

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gh80BAzl-1597720080643)(https://gitee.com/de_JY/blogImages/raw/master/img/1597454983045.png)]

1597456125084

P90 vue-cli 的介绍和安装

vue-vue.js个人视频学习笔记(一)_第77张图片

vue-vue.js个人视频学习笔记(一)_第78张图片

vue-vue.js个人视频学习笔记(一)_第79张图片

P91 vue-cli初始化过程

vue-vue.js个人视频学习笔记(一)_第80张图片

vue-vue.js个人视频学习笔记(一)_第81张图片

P92 vue-cli2目录结构解析

vue-cli2目录结构解析

vue-vue.js个人视频学习笔记(一)_第82张图片

P93 总结

你可能感兴趣的:(Vue,vue)