邂逅Vue3和Vue3开发体验

01-邂逅Vue3和Vue3开发体验

Vue3带来的变化

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

如何使用Vue

在这里插入图片描述

在这里插入图片描述

方式一:CDN引入

<div id="app"></div>
<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

<script>
    const why = {
        template: `<h2>hello world</h2>`
    }
    const app = Vue.createApp(why)
    app.mount("#app")
</script>

在这里插入图片描述

方式二——下载和引入

在这里插入图片描述

<div id="app"></div>
<script src="../js/vue.js"></script>
<script>
    Vue.createApp({
        template: `<h2>你好 世界</h2>`
    }).mount("#app")
</script>

计数器案例

在这里插入图片描述

原生实现

<h2 class="counter">0</h2>
<button class="increment">+1</button>
<button class="decrement">-1</button>

<script>
    // 获取所有元素
    const counterEl = document.querySelector(".counter")
    const incrementEl = document.querySelector(".increment")
    const decrementEl = document.querySelector(".decrement")

    // 定义变量
    let counter = 100
    counterEl.innerHTML = counter

    // 监听按钮的点击
    incrementEl.addEventListener('click', () => {
        counter += 1
        counterEl.innerHTML = counter
    })

    decrementEl.addEventListener('click', () => {
        counter -= 1
        counterEl.innerHTML = counter
    })

</script>

Vue实现

<div id="app"></div>

<script src="../js/vue.js"></script>
<script>
    Vue.createApp({
        template: `
            <h2>{{message}}</h2>
            <h2>{{counter}}</h2>
            <button @click="increment">+1</button>
            <button @click="decrement">-1</button>
        `,
        data: function () {
            return {
                message: "hello world",
                counter: 100
            }
        },
        methods: {
            increment() {
                this.counter++
            },
            decrement() {
                this.counter--
            }
        },
    }).mount("#app")
</script>

在这里插入图片描述

MVVM

在这里插入图片描述

template

在这里插入图片描述

写法一

<body>
    <div id="app"></div>

    <script type="x-template" id="why">
        <div>
            <h2>{{message}}</h2>
            <h2>{{counter}}</h2>
            <button @click="increment">+1</button>
            <button @click="decrement">-1</button>
        </div>
    </script>

    <script src="../js/vue.js"></script>
    <script>
        Vue.createApp({
            template: '#why',
            data: function () {
                return {
                    message: "hello world",
                    counter: 100
                }
            },
            methods: {
                increment() {
                    this.counter++
                },
                decrement() {
                    this.counter--
                }
            },
        }).mount("#app")
    </script>
</body>

写法二

<body>
    <div id="app"></div>

    <template id="why">
        <div>
            <h2>{{message}}</h2>
            <h2>{{counter}}</h2>
            <button @click="increment">+1</button>
            <button @click="decrement">-1</button>
        </div>
    </template>

    <script src="../js/vue.js"></script>
    <script>
        Vue.createApp({
            template: '#why',
            data: function () {
                return {
                    message: "hello world",
                    counter: 100
                }
            },
            methods: {
                increment() {
                    this.counter++
                },
                decrement() {
                    this.counter--
                }
            },
        }).mount("#app")
    </script>
</body>

data

在这里插入图片描述

method

在这里插入图片描述

其他属性

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lalaxuan

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

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

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

打赏作者

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

抵扣说明:

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

余额充值