跳至主要內容

01:初识Vuejs

三思原创大约 5 分钟前端vue前端vuejs

本文介绍了Vuejs的基础知识,包括Vuejs的简单认识、安装方式、初体验以及通过实例展示Hello Vuejs、Vue列表显示和计数器功能。

image
image

Vue自学笔记1:初识Vuejs

本文章为观看B站codewhy老师教学视频自学vuejs过程中记录的笔记,对视频进行了清晰的整理。

ps:最全最新Vue、Vuejs教程,从入门到精通_哔哩哔哩_bilibiliopen in new window(附上视频链接!)

一、初识Vuejs

1、认识Vuejs

1.1 简单认识一下Vuejs

  1. Vue (读音 /vjuː/,类似于 view),不要读错。
  2. Vue是一个渐进式​的框架,什么是渐进式的呢?
  • 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验。
  • 或者如果你希望将更多的业务逻辑使用Vue实现,那么Vue的核心库以及其生态系统。
  • 比如Core+Vue-router+Vuex,也可以满足你各种各样的需求。
  • Vue有很多特点和Web开发中常见的高级功能
  • 解耦视图和数据
  • 可复用的组件
  • 前端路由技术
  • 状态管理
  • 虚拟DOM
  • 从零学习Vue开发,并不需要你具备其他类似于Angular、React,甚至是jQuery的经验。
  • 但是你需要具备一定的HTML、CSS、JavaScript基础。

2、Vuejs安装方式

2.1 CDN引入

 <!-- 开发环境版本,包含了有帮助的命令行警告 --> 
 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
 <!-- 生产环境版本,优化了尺寸和速度 -->
 <script src="https://cdn.jsdelivr.net/npm/vue"></script>

2.2 下载和引入

 开发环境 https://vuejs.org/js/vue.js 
 生产环境 https://vuejs.org/js/vue.min.js

2.3 NPM安装管理

后续通过webpack和CLI的使用,我们使用该方式。

3、Vuejs初体验

3.1 Hello Vuejs

 <body>
     <div id="app">
         <h1>{{message}}</h1>
         <h2>我的名 字叫做{{name}}</h2>
     </div>
   
  
     <!-- 1、引用vue -->
     <!-- 1.1、引入npm中的vue.js -->
     <!-- <script src="../../node_modules/vue/dist/vue.global.js"></script> -->
     <!-- 1.2、CDN的引入 -->
     <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.11/vue.min.js"></script>
     <script>
         //vue的做法(编程范式:声明式)
         const app = new Vue({
             el: '#app',      //用于挂载要管理的元素
             data: {          //定义数据
                 message: '你好啊,小火鸡!',
                 name:'doubleup'
             }
         })
 
         //原生js的做法(编程规范:命令式)
         //1.创建div元素,设置id属性
         //2.定义一个变量message
         //3.将message变量放在前面的div元素中显示
     </script>
 </body>

总结:

3.2、Vue列表显示

 <body>
     <div id="app">
         {{message}}
 
         <!-- <ul>
             <li>{{movies[0]}}</li>
             <li>{{movies[1]}}</li>
             <li>{{movies[2]}}</li>
             <li>{{movies[3]}}</li>
         </ul> -->
         <!-- 等效于 -->
         <ul>
             <li v-for="item in movies">{{item}}</li>
         </ul>
     </div>  
     <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.11/vue.min.js"></script>
     <script>
         const app=new Vue({
             el:'#app',
             data:{
                 message:'你好啊',
                 movies:['星际穿越','盗梦空间','信条','蝙蝠侠']
             }
         })
     </script>
 </body>

3.3、Vue案例:计数器

 <body>
     <div id="app">
         <h2>当前计数:{{counter}}</h2>
         <!-- 1、直接在v-on里自增counter -->
         <!-- <button v-on:click="counter++">+</button> -->
         <!-- <button v-on:click="counter--">-</button> -->
     
         <!-- 2.1、调用函数自增counter -->
         <button v-on:click="add">+</button>
         <button v-on:click="sub">-</button>
         <!-- 2.2、语法糖写法 -->
         <button @click="add">+</button>
         <button @click="sub">-</button>
     
     </div>
     <script src="https://cdn.bootcdn.net/ajax/libs/vue/2.6.11/vue.min.js"></script>
     <script>
         const app = new Vue({
             el:'#app',
             data:{
                 counter:0
             },
             methods:{
                 add:function(){
                     // console.log('add被执行');
                     //注意不能直接用counter,因为直接用回去找全局的counter变量,所以要用this.counter
                     this.counter++      
                 },
                 sub:function(){
                     // console.log('sub被执行');
                     this.counter--
                 }
             }
          })
     </script>
 </body>

总结:

4、Vuejs的MVVM

什么是MVVM呢?

全称:Model View ViewModel

通常我们学习一个概念,最好的方式是去看维基百科(对,千万别看成了百度百科) https://open in new windowzh.wikipedia.org/wiki/Mopen in new windowVVMopen in new window 我们直接来看Vue的MVVM

  • View层:

视图层 在我们前端开发中,通常就是DOM层。 主要的作用是给用户展示各种信息。

  • VueModel层:

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

  • Model层:

数据层 数据可能是我们固定的死数据,更多的是来自我们服务器,从网络上请求下来的数据。 在我们计数器的案例中,就是后面抽取出来的obj,当然,里面的数据可能没有这么简单。

代码写成以下样式,结构会变得更加清晰

5. 创建Vue实例传入的options

你会发现,我们在创建Vue实例的时候,传入了一个对象options。这个options中可以包含哪些选项呢? 详细解析open in new window 目前掌握这些选项:

el: 类型:string 、 HTMLElement 作用:决定之后Vue实例会管理哪一个DOM。

string:

HTMLElement:

data: 类型:Object 、 Function (组件当中data必须是一个函数) 作用:Vue实例对应的数据对象。
methods: 类型:{ [key: string]: Function } 作用:定义属于Vue的一些方法,可以在其他地方调用,也可以在指令中使用。

6.Vue的生命周期