• vue 完整学习笔记(一)


    2022.08.24 重学vue ,在此记录一下笔记

    01  (了解)Vue.js 课程介绍

    会用到 es6 语法

    用到Xmind , Xmindzen 绘制流程图       

     

     前端路由?后端路由 ?对比的理解 参照前端路由和后端路由_Melody_lw的博客-CSDN博客_前端路由和后端路由的区别

    一到六部分是基础知识,基础知识很多,需要不断的练习

    七到九  高级部分

     十 补充部分

    02  (理解)Vue.js 的认识和特点介绍

    1、认识vue.js 

    why study vue.js   :重构公司现有项目;公司新项目使用vue技术栈;换工作需要vue技术;前端必备技能

    简单认识一下vue.js:

            (1) 读音/vju:/ ,类似view

            (2) 渐进式框架:意味着可以将vue作为你应用的一部分嵌入其中;可以把旧项目用vue进行一点一点的重构;vue 全家桶: core(vue核心)+ VueRouter + VueX;

            (3) 学习vue前提: 具备一定的html,css,javascript基础

      jquery已经在慢慢退出,github已经在逐步把jquery移除

      es6 比 es5 好用,typescript 比 es6 好用

    2、vue 特点:

    解耦视图和数据,可复用的组件,前端路由技术,状态管理,虚拟DOM

    3、vuejs 中的MVVM

    view 层:视图层,通常指 DOM 层,主要是给用户展示各种信息

    model 层:数据层,数据可以是我们固定的死数据,更多的是来自我们服务器,从网路上请求下来的数据

    VueModel 层:视图模型层, 是view 和 model沟通的桥梁,一方面实现了 Data Bingding ,也就是数据绑定,将Model的改变实时的反应到 view 中,另一方面,它实现了 DOM Listener 也就是DOM 监听,当 DOM 发生一些事件(点击,滚动,touch等)时,可以监听到,并在需要的情况下改变对应的 Data.

    03  (掌握)Vuejs 安装方式

    方式一:cdn 引入 :开发环境(未压缩版,包含了有帮助的命令行和警告),生产环境(压缩版,优化了尺寸和速度)

    方式二:下载和引入

    方式三:NPM安装管理

    通过webpack 和CLI 的使用,就是npm方式

    vscode 很好用,有很多好用的插件,可以任意定制你想用的任何的功能

    04  (掌握)HelloVuejs 的初体验

    1. <div id="app">
    2. <h3>{{msg}}h3>
    3. <h3>{{name}}h3>
    4. div>
    5. <script src = "./js/vue.js">script>
    6. <script>
    7. /**
    8. * var 没有作用域,js设计早期的缺陷
    9. * let const 区别
    10. * let 定义变量
    11. * const 定义常量
    12. *
    13. */
    14. const app = new Vue({
    15. el:"#app",//用于挂载要管理的元素
    16. data:{ //定义数据【可以自己定义,也可以来自网络】
    17. msg:"你好阿",
    18. name:"yxx"
    19. }
    20. })
    21. // 编程范式 :命令式编程 (原始js) 、 声明式编程 (vue)
    22. // 原始js的做法
    23. // 创建div元素
    24. // 定义变量
    25. // 将变量的值放在div元素里面
    26. // 响应式:当数据发生改变的时候,页面会跟着发生响应
    27. script>

    05  (掌握)Vue 列表的展示

    1. body>
    2. <div id="app">
    3. <h4>四大名著h4>
    4. <ul>
    5. <li v-for = "item in books">{{item}}li>
    6. ul>
    7. div>
    8. <script src = "./js/vue.js">script>
    9. <script>
    10. const app = new Vue({
    11. el:"#app",
    12. data:{
    13. books:["三国演义","水浒传","红楼梦","西游记"] //列表也是响应式的
    14. }
    15. });
    16. // 知识点:
    17. // v-for 指令
    18. // 数据是响应式的
    19. script>

     06  (掌握)小案例-计数器

    1. <div id="app">
    2. <h4>当前计数 {{counter}}h4>
    3. <button @click = "add">+button>
    4. <button @click = "substraction">-button>
    5. div>
    6. <script src = "./js/vue.js">script>
    7. <script>
    8. const app = new Vue({
    9. el:"#app",
    10. data:{
    11. counter:0
    12. },
    13. methods:{
    14. add:function(){
    15. this.counter++;
    16. console.log("add被执行")
    17. },
    18. substraction:function(){
    19. this.counter--;
    20. console.log("substraction被执行")
    21. }
    22. }
    23. });
    24. // 知识点:
    25. // 新指令:v-on:click @click 语法糖:一般是指简写
    26. // 新属性:methods 用于定义vue对象里面的方法
    27. // 函数里面用this获取data里面的counter,是因为内部做了proxy代理
    28. script>

    07  (理解)vue的MVVM

     08-(理解)Vue的options选项

    1. <div id="app">
    2. <h3>{{msg}}h3>
    3. div>
    4. <script src = "./js/vue.js">script>
    5. <script>
    6. const app = new Vue({
    7. el:"#app",
    8. // el:document.querySelector("#app"),
    9. data:{//data Object || Function,在组件中,data必须是一个函数
    10. msg:"hello world"
    11. },
    12. methods:{
    13. }
    14. })
    15. /**
    16. * 开发中 function 什么时候称为方法,什么时候称为函数
    17. * 方法:methods
    18. * 函数:function
    19. *
    20. * 定义在类里面 叫做方法【方法都是和实例对象挂钩的】
    21. * 直接定义在script里面的
    22. */
    23. script>

    09-(理解)什么是Vue的生命周期

    1. <div id="app">div>
    2. <script src = "./js/vue.js">script>
    3. <script>
    4. /*
    5. 什么是vue的生命周期?
    6. 生命周期:事物从诞生到消亡的整个过程
    7. */
    8. const app = new Vue({
    9. el:"#app",
    10. data:{},
    11. methods:{},
    12. created(){
    13. console.log("created")
    14. }
    15. })
    16. script>

    10-(理解)Vue的生命周期函数有哪些

    1. <div id="app">div>
    2. <script src = "./js/vue.js">script>
    3. <script>
    4. /**
    5. * 用的最多的:created mounted
    6. * hook: 勾子的意思,表示回调的意思
    7. * 对照生命周期图 绿色的部分是内部在做的东西
    8. * 红色部分:勾子
    9. * 组件里面可能会用到 destoryed
    10. */
    11. const app = new Vue({
    12. el:"#app",
    13. data:{},
    14. methods:{},
    15. beforeCreate(){
    16. console.log("beforeCreate")
    17. },
    18. created(){
    19. console.log("一般在这里做网络请求")
    20. console.log("created");
    21. },
    22. beforeMount(){
    23. console.log("beforeMount")
    24. },
    25. mounted(){
    26. console.log("mounted")
    27. },
    28. beforeUpdate(){
    29. console.log("beforeUpdate")
    30. },
    31. updated(){
    32. console.log("updated")
    33. },
    34. beforeDestory(){
    35. console.log("beforeDestory")
    36. },
    37. destoryed(){
    38. console.log("destoryed")
    39. }
    40. })
    41. script>

    11-(了解)定义vue的template

    利用webstorm 自定义代码块,这块vscode也可以实现,具体可参照VSCode自定义代码块详解 - 腾讯云开发者社区-腾讯云

    这里告一段落,明天继续,希望可以坚持下去,加油!你是最棒的!

  • 相关阅读:
    Linux系统编程_进程间通信第2天: 共享内存(全双工)、信号(类似半双工)、信号量
    回收站里面的东西删除了怎么恢复?
    CMake 在工程管理中的使用 Window/MacOS
    报表查询栏位的实现——输入框,下拉列表,日期时间选择
    代码随想录算法训练营第五十八天| 583. 两个字符串的删除操作 72. 编辑距离
    Openssl 1.1.x android编译
    CentOS-7安装Docker并设置开机自启动docker镜像
    吐血整理,金融银行测试的“火“到底在哪里?银行测试真正实施...
    Spring 如何解决循环依赖
    有关哈希的概念,哈希表(哈希桶),unordered_map和unordered_set的模拟实现
  • 原文地址:https://blog.csdn.net/qq_37299479/article/details/125455374