Vue 全套教程(一),入门 Vue 必知必会

7 篇文章 60 订阅
订阅专栏

Vue(一)

文章目录

  • Vue(一)
    • 一、Vue简介
      • 1. 介绍
      • 2. 特点
    • 二、HelloWorld
    • 三、v-bind指令
    • 四、v-model指令
    • 五、el与data的两种写法
      • 5.1 el的两种写法
      • 5.2 data的两种写法
    • 六、MVVM模型
    • 七、Object.defineProperty方法
    • 八、数据代理
      • 8.1 数据代理概念
      • 8.2 Vue中的数据代理
    • 九、事件处理
      • 9.1 基本使用
      • 9.2 $event
      • 9.3 事件修饰符
        • 9.3.1 prevent事件
        • 9.3.2 stop事件
        • 9.3.3 once事件
        • 9.3.4 self事件
      • 9.4 按键修饰符
    • 十、计算属性
      • 10.1 基本概念
      • 10.2 简写形式

一、Vue简介

1. 介绍

Vue 是一套用来动态构建用户界面渐进式 JavaScript 框架

  • 构建用户界面:把数据通过某种办法变成用户界面
  • 渐进式:Vue 可以自底向上逐层的应用,简单应用只需要一个轻量小巧的核心库,复杂应用可以引入各式各样的 Vue 插件

2. 特点

2.1 采用组件化模式,提高代码复用率、且让代码更好维护

每一个组件由三部分组成:HTML、CSS、JS,如下图:
image-20220618165727805

2.2 使用虚拟 DOM 和 Diff 算法,尽量复用 DOM 节点

如果数据修改,不需要重新拼串,在虚拟 DOM 层会通过 Diff 算法比较与原数据的差异,从而复用原数据,如下图:
image-20220618165727805

2.3 声明式编码,让编码人员无需直接操作 DOM,提高开发效率

不需要像命令式编码一样将每一步操作都通过代码编写,如下图:
image-20220618165727805

二、HelloWorld

  1. 首先需要引入Vue,通过本地文件引入,或通过网络引入:https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js
  2. 想要让Vue工作,就需要创建一个Vue实例,给这个实例传入一些数据,比如 data(定义数据)、methods(定义方法) 等,并将这个实例绑定给页面的 div 标签(称为容器
  3. 在容器的标签中通过 {{}} (插值表达式)编写 JS 表达式可以直接获取 data 中的数据,一旦 data 中的数据发生改变,那么页面中用到该数据的地方也会自动更新

代码示例:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <title>初识Vue</title>
        
        <!-- 通过网络引入Vue -->
        <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
    </head>
    <body>
        
        <!-- 准备好一个容器 -->
        <div id="root">
            <!-- 获取Vue实例中data中的数据 -->
            <h1>Hello,{{name}},{{address}}</h1>
        </div>

        <script type="text/javascript" >
            //创建Vue实例
            new Vue({
                el:'#root', //el用于指定当前Vue实例与哪个容器绑定,此处绑定id值为root的容器
                data:{ //data中用于存储数据,数据供el所指定的容器去使用
                    name:'周杰伦',
                    address:'台北'
                }
            })
        </script>
    </body>
</html>

运行结果:

image-20220618165727805

注意:

  1. 容器中的代码依然符合 HTML 规范,只不过可以写一些 Vue 的语法
  2. 容器和 Vue 实例是一一对应的,可以有多个容器和Vue实例一一对应(但是一般只写一个容器和一个Vue实例,其余内容配合组件一起使用)

三、v-bind指令

基本语法:v-bind:属性名 = "JS表达式",表示将 JS 表达式的值赋值给此属性(单向绑定)

简写::属性名 = "JS表达式"

代码示例:

<div id="root">
    <!-- 插值表达式获取data中的属性值 -->
    <h3>你好,{{name}}</h3>
    <!-- 单向绑定data中的属性值赋值给href属性 -->
    <a v-bind:href="school.url.toUpperCase()">点我去{{school.name}}学习</a>
    <!-- 简写方式 -->
    <a :href="school.url">点我去学习</a>
</div>
</body>

<script type="text/javascript">
    
    //阻止vue在启动时生成生产提示
    Vue.config.productionTip = false 

    new Vue({
        el:'#root',
        data:{
            name:'Jack',
            school:{
                name:'霍格沃茨',
                url:'http://www.baidu.com',
            }
        }
    })
</script>

运行结果:

image-20220618165727805

注意:

  1. 如果 data 中的属性值发生变化,单向绑定的数据也会自动的随之变化

  2. 插值表达式一般写在标签体中,单向绑定一般用于给标签的属性绑定值

四、v-model指令

基本语法:v-model:value = "JS表达式",表示双向绑定,也就是 data 中的值被修改,页面的值也会被修改;页面的值被修改,对应的 data 属性值也会随之修改

简写:v-model = "JS表达式",即双向绑定默认操作的属性就是 value

代码示例:

<body>
    <div id="root">

        <!-- 普通写法 -->
        双向数据绑定:<input type="text" v-model:value="name"><br/>

        <!-- 简写 -->
        双向数据绑定:<input type="text" v-model="name"><br/>

        <div> data属性的值:{{name}} </div>
    </div>
</body>

<script type="text/javascript">
    new Vue({
        el:'#root',
        data:{
            name:'Bruno Mars'
        }
    })
</script>

运行结果:

image-20220618165727805

注意:

  1. 双向绑定只能使用在表单类元素上,也就是标签必须有 value 属性,比如输入框、单选框、多选框等
  2. 插值表达式和单向绑定数据只能从 data 流向页面,而双向绑定还可以使数据从页面流向 data

五、el与data的两种写法

5.1 el的两种写法

5.1.1 第一种写法

<script type="text/javascript">
    new Vue({
        el: '#root', //绑定id为root的容器
        data: {
       		//定义数据 
    	}
    })
</script>

5.1.2 第二种写法

<script type="text/javascript">
    const vm = new Vue({
        data: {
       		//定义数据 
    	}
    })
    vm.$mount('#root') //绑定id为root的容器
</script>

两种方式的区别:

第一种创建Vue对象的时候就要绑定容器;第二种先创建Vue对象,可以做一些其他操作后再绑定容器。

5.2 data的两种写法

5.2.1 对象式

<script type="text/javascript">
    new Vue({
        el: '#root',
        //定义data对象,然后在其中定义属性
        data: {
       		name:'Nicki Minaj' 
    	}
    })
</script>

5.2.2 函数式

<script type="text/javascript">
    new Vue({
        el: '#root',
        //定义data函数,然后在返回值中定义属性
        data(){
            return{
                //返回值是定义的数据
                name:'Nicki Minaj' 
            }
        }
    })
</script>

注意:

  1. 使用组件时,必须使用函数式定义数据
  2. 由 Vue 管理的函数不能写成箭头函数,如果使用箭头函数,则函数中的 this 表示的是 window,如果使用普通函数格式,则 this 表示 Vue对象

六、MVVM模型

  • M:模型 (Model) :data中的数据
  • V:视图 (View) :模板代码
  • VM:视图模型 (ViewModel):Vue实例

图示:

image-20220618165727805

图中 Vue 实例的双向箭头表示:

  1. Data Bindings:数据存放在 Model 中,经过 Vue 实例将数据绑定在页面上
  2. DOM Listeners:页面上的数据会被 Vue 实例监听,比如双向绑定:页面数据发生变化,对应 Model 中的数据也跟着变化
    image-20220618165727805

代码示例:

<body>
    <div id="root">
        <h1>学校名称:{{name}}</h1>
        <h1>学校地址:{{address}}</h1>

        <!-- VM身上的所有数据,view中都可以直接获取 -->
        <h1>测试一下2:{{$options}}</h1>
        <h1>测试一下3:{{$emit}}</h1>
    </div>
</body>

<script type="text/javascript">

    //一般使用vm这个变量名表示Vue实例
    const vm = new Vue({
        el:'#root',
        data:{
            name:'清华大学',
            address:'北京',
        }
    })
    // 控制台输出Vue实例
    console.log(vm)
</script>

运行结果1:

控制台输出 Vue 实例:

image-20220618165727805

运行结果2:

页面展示:

image-20220618165727805

结论:

  1. data 中所有的属性,最后都出现在了 Vue 实例中
  2. Vue 实例身上所有的属性以及 Vue 原型所有的属性,都可以直接在 View 中使用

七、Object.defineProperty方法

先看一段 JS 代码,将一个变量的值赋值给一个属性:

let number = 18
let person = {
    name:'张三',
    sex:'男',
    age:number //age值为18
}

如果通过这种方式给 age 赋值,只有第一次代码执行到赋值语句时才会将 age 的值修改为 18,如果以后 number 的值发生变化,则 age 不会跟着变化。

方法介绍:

此方法用于给对象定义属性使用,参数1表示给哪个对象定义属性,参数2表示给对象中的哪个属性赋值,参数3写赋予值的配置对象(对属性值进行一些高级的操作),如下所示:

<script type="text/javascript" >
    
    let person = {
        name:'张三',
        sex:'男',
    }

    Object.defineProperty(person,'age',{
        value:18, //这个属性值为18
        enumerable:true, //控制属性是否可以枚举(被遍历),默认值是false
        writable:true, //控制属性是否可以被修改,默认值是false
        configurable:true //控制属性是否可以被删除,默认值是false
    })
    
</script>

运行结果:

image-20220618165727805

get()、set()方法:

<script type="text/javascript" >

    let number = 12
    let person = {
        name:'张三',
        sex:'男',
    }

    Object.defineProperty(person,'age',{

        //当有人读取person的age属性时,get函数(getter)就会被调用,且返回值就是age此时的值
        get(){
            console.log('有人读取age属性,get方法被调用')
            return number //返回定义的number变量值
        },

        //当有人修改person的age属性时,set函数(setter)就会被调用,且参数是要赋予age属性的值
        set(value){
            console.log('有人修改age属性,set方法被调用,修改值为',value)

            //age的值取决于number,修改number的值就可以修改age的值
            //并没有直接修改age属性值
            number = value 
        }
    })
</script>

运行结果:

image-20220618165727805

上述代码完成了一种功能:person 对象中有 age 这个属性,但是 age 属性的值并不是固定的,可以随时读取,随时修改。

八、数据代理

8.1 数据代理概念

数据代理:通过一个代理对象,操作另一个对象中的数据,而不是直接操作该对象。

代码示例:

<!-- 想要通过obj2获取、修改obj中的数据,而不是直接操作obj -->
<script type="text/javascript" >

    let obj = {
        x:100
    }
    let obj2 = {
        y:200
    }

    Object.defineProperty(obj2,'x',{
        get(){
            return obj.x
        },
        set(value){
            obj.x = value
        }
    })
</script>

运行结果:

image-20220618165727805

8.2 Vue中的数据代理

观察下述代码:

<body>
    <div id="root">
        <h2>名称:{{name}}</h2>
        <h2>地址:{{address}}</h2>
    </div>
</body>

<script type="text/javascript">
    const vm = new Vue({
        el:'#root',
        data:{
            name:'Jay',
            address:'台湾'
        }
    })
</script>

运行结果1:

image-20220618165727805

运行结果2:

image-20220618165727805

运行结果3:

image-20220618165727805

总结:

  1. Vue 中的数据代理指的就是通过 Vue 实例(Vue实例中也会有上述的 name、address 属性)来代理 data 对象中 name、address 属性的操作

  2. 如果没有数据代理,那么在 View 中获取 data 中的数据只能通过上述的 _data 来获取

    • Vue 使用数据代理的目的就是可以编码时简写,比如直接写 name 就可以拿到 'Jay' 这个值(编码获取的是 Vue 中的 name,最终通过 getter() 方法读取到的是 data 中的 name)
    • Vue 使用数据代理还可以将数据的改变同步到页面上,比如修改 vm.name 值,最终通过 setter() 方法修改的是 data 中的数据,data 中的数据发生了变化,最终会直接影响到页面上的数据
    • 只要 data 中的数据发生变化,Vue 就会重新解析模板(View),以更新模板中的值,如果解析模板的过程中,插值表达式中有调用函数,这个函数一定会被重新调用
  3. 通过 Object.defineProperty() 方法把 data 对象中的所有属性添加到 Vue 实例上,并且为每个属性自动的添加 getter/setter,通过这些方法修改 data 中的属性值

  4. 具体见下图:
    image-20220618165727805

    可以发现编码时写的 data 没有出现在 Vue 实例中,都转换成了 _data,所以最终读取的都是 _data 中的数据。

  5. 只有 data 中的数据会做数据代理

九、事件处理

9.1 基本使用

基本语法:v-on:事件名 = "xxx",xxx 表示事件发生时要执行的函数,也可以写一些简单的逻辑语句

简写:@事件名 = "xxx"

**事件对象:**事件触发的时候会执行某个函数,该函数的形参(如果只有一个)会自动接收一个事件对象(即使调用函数时没有传递任何实参),这个事件对象中包含这个事件的各种信息

代码示例:

<body>
    <div id="root">
        <h2>欢迎来到{{name}}学习</h2>
        <!-- 调用函数时没有传递任何参数 -->
        <button @click="showInfo1">点我提示信息1</button>
    </div>
</body>

<script type="text/javascript">
    const vm = new Vue({
        el:'#root',
        data:{
            name:'霍格沃茨',
        },
        
        //定义的方法要写在methods对象中
        methods:{
            showInfo1(event){
                
                //event表示事件对象,target表示发生这个事件时的标签
                //event可以更改成其他的任何字母(都表示事件对象)
                console.log(event.target)
                
                //innerText表示标签中的文本
                console.log(event.target.innerText)
            },
        }
    })
</script>

运行结果1:

image-20220618165727805

运行结果2:

image-20220618165727805

9.2 $event

如果想要事件发生时既要传递实参又要在函数中使用事件对象,那么就必须在调用函数时使用 $event 来表示传递的是事件对象,如下代码所示:

<div id="root">
    <h2>欢迎来到{{name}}学习</h2>
    <!-- $event表示这个参数是事件对象而不是自定义的实参 -->
    <button @click="showInfo1($event, 22)">点我提示信息1</button>
</div>
</body>

<script type="text/javascript">
    const vm = new Vue({
        el:'#root',
        data:{
            name:'霍格沃茨',
        },
        methods: {
            showInfo1(event, number) {
                // event表示事件对象,number表示接收的实参
                console.log(event.target)
                console.log('参数数字是' + number)
            },
        }
    })
</script>

运行结果:

image-20220618165727805

总结:

methods 中定义的方法属于被 Vue 实例所管理的方法:

  • 如果使用箭头函数,this 表示 window
  • 如果使用普通函数,this 表示 Vue 实例或者组件实例对象

9.3 事件修饰符

事件修饰符有6种:

  • prevent:阻止事件的默认行为
  • stop:阻止事件冒泡(使用在内部标签上)
    • 事件冒泡:内部标签的事件触发时,外层标签如果有相同的事件,那么这个外部标签的事件会被自动触发
  • once:事件只触发一次
  • self:只关心自己标签上触发的事件,不监听事件冒泡
  • capture:使用事件的捕获模式
  • passive:事件的默认行为立即执行,无需等待事件回调执行完毕
9.3.1 prevent事件

代码示例:

<body>
    <div id="root">
        <h2>欢迎来到{{name}}学习</h2>
        <!-- a标签的默认行为是跳转到指定的页面,prevent阻止跳转,只执行函数 -->
        <a href="http://www.baidu.com" @click.prevent="showInfo">点我提示信息</a>
    </div>
</body>

<script type="text/javascript">
    new Vue({
        el:'#root',
        data:{
            name:'霍格沃茨'
        },
        methods:{
            showInfo(){
                alert('同学你好!')
            }
        }
    })
</script>

点击之后只弹出提示信息,没有跳转到百度页面。

9.3.2 stop事件

代码示例:

<body>
    <div id="root">
        <h2>欢迎来到{{name}}学习</h2>
        <!-- div标签是外层标签,拥有与内层标签一致的点击事件 -->
        <div @click = "showInfo">
            <!-- 默认点击按钮之后,内部标签的事件触发,外部标签的事件也会随之触发(事件冒泡) -->
            <!-- 使用stop阻止了事件冒泡,不会触发外层标签的同一事件 -->
            <button @click.stop = "showInfo"> 按钮 </button>
        </div>

    </div>
</body>

<script type="text/javascript">
    new Vue({
        el:'#root',
        data:{
            name:'霍格沃茨'
        },
        methods:{
            showInfo(){
                alert('同学你好!')
            }
        }
    })
</script>

只弹出一次提示信息,如果不阻止事件冒泡,则会弹出两次提示信息。

9.3.3 once事件
<!-- 事件只会执行一次,之后再点击也不会触发事件了 -->
<button @click.once="showInfo"> 按钮 </button>
9.3.4 self事件
<!-- div标签是外层标签,拥有与内层标签一致的点击事件 -->
<!-- 使用了self事件,只有点击了外部事件才会触发,不监听事件冒泡 -->
<div @click.self = "showInfo">
    <button @click= "showInfo"> 按钮 </button>
</div>

点击了按钮之后,只弹出一次提示信息。

注意:事件修饰符可以连续写,比如:@click.prevent.stop = "method" 表示既阻止事件的默认行为又阻止事件冒泡的发生。

9.4 按键修饰符

  • 使用方式:@事件名.按键修饰符名称 = "要执行的方法"

  • 作用:用来和按键事件绑定在一起,修饰特定按键事件

    • click:点击事件
    • keyup:按键抬起事件
    • keydown:按键按下事件
  • 常用的按键修饰符有9个

    • enter:回车
    • delete:删除或退格
    • esc:退出
    • space:空格
    • tab:换行(键盘按下就会失去焦点,所以必须配合 keydown 使用
    • up:上
    • down:下
    • left:左
    • right:右

代码示例:

<body>
    <div id="root">
        <!-- 只有按下并抬起回车键后才会执行对应的方法 -->
        <input type="text" placeholder="请按下对应的按键" @keyup.enter="showInfo"></input>
    </div>
</body>

<script type="text/javascript">
    new Vue({
        el:'#root',
        methods:{
            showInfo(event){
                alert(event.target.value)
            }
        }
    })
</script>

获取按键名

<script type="text/javascript">
    new Vue({
        methods:{
            // event是事件对象
            showInfo(event){
                //获取按键名
                console.log(event.key)
                //获取按键编码
                console.log(event.keyCode)
            }
        }
    })
</script>

可以使用上述方式得到所有按键的按键名,故可以使用的按键修饰符不仅仅是默认的9个。

注意:如果想要使用非默认的9个按键修饰符,使用时必须将对应的按键名进行转换,比如:CapsLock 转换成 caps-lock

十、计算属性

10.1 基本概念

如果一个属性要通过已有的属性计算出来,那么可以使用计算属性。计算属性的读取和修改必须通过定义 getter/setter 来进行。

注:计算属性的底层借助了 Objcet.defineproperty 方法提供的 getter 和 setter 来完成读取和修改

代码示例:

<body>
    <div id="root">
        姓:<input type="text" v-model="firstName"> <br/><br/>
        名:<input type="text" v-model="lastName"> <br/><br/>
        <!-- 调用两次计算属性 -->
        全名:<span>{{fullName}}</span> <br/><br/>
        全名:<span>{{fullName}}</span>
    </div>
</body>

<script type="text/javascript">

    Vue.config.productionTip = false

    const vm = new Vue({
        el:'#root',
        data:{
            firstName:'张',
            lastName:'三',
        },
        methods: {
        },

        // 定义计算属性必须使用computed对象
        computed:{
            // 一个新的属性fullName,需要通过已有的属性计算出来
            fullName:{
                // 读取计算属性的值
                get(){
                    console.log('计算属性被调用了')
                    // this表示Vue实例,读取data中的属性
                    // 计算属性fullName依赖已有的属性
                    return this.firstName + '-' + this.lastName
                },
                // 修改计算属性的值
                set(value){
                    console.log('set',value)
                    const arr = value.split('-')
                    // 修改data中的属性(依赖的已有属性)
                    this.firstName = arr[0]
                    this.lastName = arr[1]
                }
            }
        }
    })
</script>

运行结果1:

可以直接在 View 中读取计算属性:

image-20220618165727805

运行结果2:

初始时,尽管调用了两次计算属性,但是控制台仅显示一次提示,也就是计算属性只调用了1次 get 方法。

原因:计算属性使用了缓存机制,如果已经有了计算属性的值,之后读取的都是缓存值(效率更高)。

运行结果3:

image-20220618165727805

修改输入框内容的同时计算属性的 get 方法会被多次调用。

原因:get 方法何时被调用?(不使用缓存)

  1. 第一次读取计算属性时
  2. 当依赖的已有属性值发生变化时

运行结果4:

image-20220618165727805

修改计算属性的值时,set 被调用,然后由于修改所依赖的已有的属性值,故 get 方法也会随之调用。

10.2 简写形式

当计算属性只读不改的时候可以使用简写形式。

代码示例:

<script type="text/javascript">
    const vm = new Vue({
        el:'#root',
        computed:{

            //完整写法
            /* fullName:{
					get(){
						console.log('get被调用了')
						return this.firstName + '-' + this.lastName
					}
				} */

            //简写
            //fullName直接当作get方法来用
            fullName(){
                console.log('get被调用了')
                return this.firstName + '-' + this.lastName
            }
        }
    })
</script>

注意:

使用简写形式之后,fullName 仍然是一个属性而不是方法,所以调用的时候不能加小括号。

Vue全套教程
weixin_44338156的博客
11-26 1939
1、初识Vuejs 1.1、为什么学习Vuejs? 可能你的公司正要用Vue将原项目重构 可能你的公司新项目决定使用Vue技术栈 可能你正在找工作,会发现十个前端八个对Vue有或多或少的要求 当然,最重要的是Vue非常火,很流行 1.2、简单认识Vuejs Vue(读音/vju:/ ,类似于view) Vue是一个渐进式框架 渐进式意味着你可以将Vue作为你应用的一部分嵌入其中,带来更丰富的交互体验 或者如果你希望更多的业务逻辑使用Vue实现,那么Vue的核心库及其生态系统; 比如Core + Vu
Vue - 快速入门,这一套就够了!(Vue core + 案例 + 效果演示)
CYK_byte的博客
10-16 8084
前置条件:掌握 HTML、CSS、JavaScript、AJAX.工具:VsCode.插件:Live Server(浏览器实时预览)Ps:建议都提前下载下来,没网的时候也能用.
Vue进阶(一):Vue 学习资料汇总_开源vue学习资料
最新发布
2401_84447233的博客
04-29 148
vue-cli其中,webpack是构建工具、模块打包器,也就是整个项目是基于webpack的。其中,firstVue是项目文件夹的名称,这个文件夹会自动生成在vuejs这个工作目录中。cd运行应用,该命令会使用热加载的方式运行我们的应用,可以让我们在修改完代码后不用手动刷新浏览器就能实时看到修改后的效果。
Vue安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
热门推荐
Javachichi的博客
09-14 3万+
网络安全行业产业以来,随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
vue超详细教程,手把手教你完成vue项目
sylvia_lily的博客
07-14 2万+
Vue 一. Vue简介 ​ Vue是于2013年(与React框架同年发布)推出的一个渐进式、自底向上的前端框架,它的作者叫尤雨溪。那么什么叫做渐进式框架呢?比较官方的说法就是:以Vue内核作为核心,随着业务的深入、需求的递增,可以使用其周边生态(vue-router、vuex、ssr等)深度应用到项目中。那么通俗上来讲:就是我们可以使用vue的部分功能不断的迭代掉我们项目中部分的功能,从表单提交到列表渲染,再到多路由应用,再到SSR等。 ​ Vue主要具备以下几个特点: 解耦视图和数据 组件复
Vue的详细教程--入门
m0_74315688的博客
09-16 2118
什么是vue?它有什么优势?怎么使用vuevue的基本语法如何掌握? 如果你也有疑问的话,不妨点进来看看呢!!
vue教程
sslcsq的博客
03-29 3648
vue教程
Web前端Vue2.0 + Vue3.0 全套入门到精通教程
10-20
Web前端Vue2.0 + Vue3.0 全套入门到精通教程
vue视频教程入门选手必看
03-21
vue视频教程入门选手必看
vue最新面试题必知必会系列
07-10
vue最新面试题必知必会系列 vue最新面试题必知必会系列 vue最新面试题必知必会系列 vue最新面试题必知必会系列 vue最新面试题必知必会系列 vue最新面试题必知必会系列 vue最新面试题必知必会系列 vue最新面试题必知...
vue 3.0学习笔记(从入门到精通)
10-07
vue 3.0自我学习整理的笔记,有很大的参考价值,包括了所有的知识点,vue的开发环境搭建、组件开发、数据状态管理、vue route、组件之前数据传递等有关知识点
Vue学习笔记——【尚硅谷Vue2.0+Vue3.0全套教程vuejs从入门到精通-哔哩哔哩】 https://b23.tv/
08-14
Vue学习笔记——【尚硅谷Vue2.0+Vue3.0全套教程vuejs从入门到精通-哔哩哔哩】 https://b23.tv/
Vue】快速入门
你不来,再美的天地,都狼藉 ~
03-24 1564
一文带你从HelloWorld认识Vue框架,深刻理解!
前后端分手大师——MVVM 模式
weixin_34130389的博客
11-15 528
阅读目录简而言之组成部分没有什么是一个栗子不能解决的 简而言之 之前对 MVVM 模式一直只是模模糊糊的认识,正所谓没有实践就没有发言权,通过这两年对 Vue 框架的深入学习和项目实践,终于可以装B了有了拨开云雾见月明的感觉。 Model–View–ViewModel(MVVM) 是一个软件架构设计模式,由微软 WPF 和 Silverlight 的架构师 Ken Cooper 和 Ted Pet...
Vue学习-Vue入门
weixin_59357453的博客
04-02 4106
这是一篇vue学习记录
前端基础-VUE入门教程(一)
hjw15910531612的博客
07-21 3313
总结了Vue实例创建、模板语法、数据绑定、MVVM模型、数据代理等相关知识
从零开始搭建一个vue项目(保姆级教程
weixin_50989469的博客
07-23 3269
我这边在本地起了一个后台服务(建议后台服务做好跨域配置),模拟接口访问调用,一共测试了三种方式:①get无参请求 ②get有参请求 ③post请求json传参。新建api文件夹,放在api文件夹下,需要引入http文件,js文件地址:src/api/pageB.js。项目建好之后,就可以配置ui组件了,可以选择npm去装,也可以选择yarn安装,我把两个命令都列出来了。第二步,选择【Vue.js】,输入自己项目的名称,点击【Create】生成项目。在main.js中import之后,ui组件才正式生效。
vue2 基础入门
ClearloveYt的博客
07-03 2587
目录vue 简介vue 的特性数据驱动视图双向数据绑定MVVMvue 的基本使用vue 的调试工具vue 的指令1、内容渲染指令2、属性绑定指令3、事件绑定 4、双向绑定指令 v-model5、 条件渲染指令 6 、列表渲染指令vue过滤器 定义过滤器基本使用 私有过滤器和全局过滤器过滤器的注意点watch 侦听器使用 watch 检测用户名是否可用 侦听器的格式对象侦听器deep 选项 计算属性计算属性的特点vue-cli 的使用 安装和使用vue 项目中 src 目录的构成:vue 项目的运行流程 vu
Vue从零开始,手把手教学( 附送250套精选项目源码)
梦之归途的博客
03-29 1348
Vue从零开始,手把手教学( 附送250套精选项目源码)
尚硅谷vue2.0+vue3.0全套教程
07-16
### 回答1: 尚硅谷是国内知名的IT培训机构,他们提供了关于Vue的2.0和3.0的全套教程Vue是一种流行的JavaScript框架,用于构建用户界面。2.0版本是Vue的早期版本,而3.0版本是最新的更新版本。 2.0版本的教程主要介绍了Vue的基础知识和核心概念,包括组件、指令、过滤器等。学习者可以了解如何使用Vue来构建单页应用程序,处理数据绑定、事件处理和路由等功能。此外,教程还涉及Vue的工具和生态系统,如Vue Router和Vuex,它们可以扩展Vue的功能。 而3.0版本的教程则更加深入地介绍了Vue的新特性和改进。其中最重要的特性是使用了新的响应式系统,可以提高性能和开发效率。教程还包括Vue 3中的虚拟DOM、组合API、静态类型检查等内容。学习者通过这些教程可以了解如何迁移现有的Vue 2项目到Vue 3,并且可以利用新特性来构建更高效、可靠的Web应用程序。 尚硅谷的教程以系统性和实战性为核心,学习者不仅可以理论上了解Vue的各种概念和技术,还可以通过实际案例和项目实践来巩固所学知识。此外,教程提供了丰富的练习和实践任务,帮助学习者深入理解和应用所学内容。 总体而言,尚硅谷的Vue 2.0和3.0全套教程提供了全面的学习资源,使学习者能够系统地学习和掌握Vue的开发技能,从而在前端开发领域取得更大的成就。 ### 回答2: 尚硅谷是一家知名的IT教育机构,他们提供了一套完整的Vue2.0和Vue3.0教程系列。 Vue是一种流行的JavaScript前端框架,它以其简洁易用和高效的特性而受到广泛的欢迎。尚硅谷的Vue教程从基础开始,逐步深入,涵盖了从Vue2.0到Vue3.0的全套内容。 对于Vue初学者来说,尚硅谷的教程非常适合。他们从Vue的核心概念开始讲解,例如组件、指令、生命周期等,帮助学习者建立起对Vue的基础理论。然后他们会引导学习者通过实践项目来锻炼自己,这些项目包括购物车、社交媒体应用等。 在Vue2.0部分,尚硅谷详细介绍了Vue的基本语法、Vue组件、路由、状态管理等方面的内容。他们通过一步一步的演示和实践指导,帮助学习者掌握Vue的使用技巧和开发经验。 而在Vue3.0部分,尚硅谷更新了教程内容,包括了对Vue3.0新特性的解释和应用实例。他们介绍了Vue3.0相对于2.0的改进,例如Composition API和响应式系统的改进。通过学习Vue3.0,学习者可以更好地理解和应用最新的Vue技术。 总的来说,尚硅谷的Vue2.0和Vue3.0全套教程是一套系统完备的学习材料,适合初学者和有一定经验的开发者。通过学习这些教程,学习者可以全面掌握Vue的核心知识和应用技巧,进一步提升自己在前端开发领域的能力。 ### 回答3: 尚硅谷提供了全套Vue2.0和Vue3.0教程,帮助学习者全面了解和掌握Vue的相关知识和技能。 Vue2.0教程涵盖了Vue基础知识、组件化开发、路由、状态管理、Vue-cli的使用等内容。学习者可以通过该教程了解Vue的基本概念、指令、组件以及如何构建单页应用等。在Vue2.0教程中,尚硅谷以清晰的讲解和示例代码,帮助学习者逐步掌握Vue的开发技巧和最佳实践。 而Vue3.0教程则介绍了Vue3.0的全新特性与改进,如响应式、组合式API、Teleport等。学习者可以通过该教程了解Vue3.0相较于Vue2.0的重大改变和优势,以及如何从Vue2.0迁移到Vue3.0。此外,尚硅谷还会通过实际项目案例和实践演练,帮助学习者更好地理解和应用Vue3.0的新特性。 尚硅谷的教程内容通常包括视频教学、教学文档、示例代码和练习题等资源,学习者可以通过这些资源系统地学习Vue的相关知识。此外,尚硅谷还提供在线答疑和讨论交流的平台,学习者可以在学习过程中随时获得帮助与指导。 总之,尚硅谷的Vue2.0和Vue3.0全套教程是一门系统且综合的学习课程,通过学习这些教程,学员可以全面了解和掌握Vue的开发技术,并能够应用到实际项目中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • IDEA中使用SVN IDEA配置SVN步骤 120854
  • JSP的基本使用总结 100181
  • Redis基础知识入门 47003
  • Vue 全套教程(一),入门 Vue 必知必会 37288
  • Debug断点调试详解 24648

分类专栏

  • 自动化测试 2篇
  • 前端知识 7篇
  • NoSQL 12篇
  • 计算机网络 13篇
  • Spring 6篇
  • 并发编程 13篇
  • MySQL 15篇
  • 程序员必会工具 22篇
  • Java后端总结与心得 16篇
  • SpringMVC 1篇
  • 消息中间件 9篇
  • Java基础知识 16篇
  • 操作系统 9篇
  • MyBatis-plus 2篇
  • 数据结构和算法 11篇
  • SOA架构 3篇
  • 权限框架 2篇
  • 持续集成 2篇
  • Linux 6篇
  • 项目 1篇
  • SpringBoot 3篇
  • ZooKeeper 1篇
  • 编译器的使用 2篇
  • 设计模式 10篇
  • 数据库 1篇
  • Docker 6篇
  • 日志
  • Python 1篇
  • JVM 5篇
  • NIO & Netty 8篇
  • 源码分析 12篇
  • MyBatis 2篇
  • IDEA使用

最新评论

  • IDEA中使用SVN IDEA配置SVN步骤

    芝兰_: 使用2023版idea, 很多配置选项已经发生改变

  • IDEA设置自动提示参数信息

    猿说新宇: 按照你的方法设置了,但是还没有显示呢

  • Docker 安装 MySQL 8.0,详细步骤

    pccai-vip: docker exec -it mysql /bin/bash

  • Vue 全套教程(一),入门 Vue 必知必会

    全栈老工程师: 初学可以使用www.ivueui.com设计vue页面,简单拖拽组件就可以生成vue页面,支持vue2和vue3

  • 计算机网络之运输层

    论。: 想问下,说端口号只有本地意义,那熟知端口号呢?

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • REST-assured接口测试框架详解
  • TestNG自动化测试框架详解
  • Vue 全套教程(三),入门 Vue 必知必会
2022年13篇
2021年154篇
2020年50篇

目录

目录

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Nice2cu_Code

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司绵阳企业网站制作多少钱宁德企业网站设计公司营口企业网站建设成都网页设计多少钱飞来峡品牌网站设计哪家好天水百度标王多少钱衡水设计网站多少钱商丘网站推广林芝外贸网站建设推荐丽水网站推广工具推荐新乡外贸网站制作哪家好南阳设计网站报价苏州网站建设设计价格阜新企业网站改版公司泰安百度竞价报价重庆百度爱采购哪家好张掖百度竞价包年推广哪家好长春网站推广推荐长沙网站改版报价迁安SEO按天计费多少钱丹东推广网站哪家好杭州阿里店铺托管推荐抚州seo网站优化公司邯郸百度标王多少钱孝感企业网站制作哪家好盐城seo优化报价洛阳网站优化按天扣费公司长治seo网站推广公司白银网站推广滨州网页制作价格歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化