Vue之小入门

Vue.js基础教程

Vue之小入门

 

<div id="app">{{ greeting }}</div>
<script>
    let oDiv = document.getElementById('app');

    oDiv.innerText = 'Hello World';
</script>

代码执行结果:

  使用Vue实现上个实例的功能:

<script src='./static/vue.min.js'></script>  

<div id="app">{{ greeting }}</div> <script> new Vue({ el: '#app', data: { greeting: 'Hello Vue', } }) </script>

   代码打印结果:

 

  v-text

<script src="./static/vue.min.js"></script>
<body>
<div id="app" v-text="greeting"></div>
<script>
    // 数据模板引擎
    // v-开头的指令是帮助我们渲染数据用的
    new Vue({
        el: '#app',
        data: {
            greeting: 'Hello Vue',
        }
    })
</script>
</body>

  代码打印结果:

 

  v-html

<script src="./static/vue.min.js"></script>
<body>
<div id="app" v-html="greeting"></div>
<script>
    new Vue({
        el: '#app',
        data: {
            greeting: '<h1>Hello Vue</h1>'
        }
    })
</script>
</body>

  代码打印结果:

 

  v-for

<script src="./static/vue.min.js"></script>
<body>
    <div id="app">
        <ul>
            <li v-for="aihao in xxoo">{{aihao}}</li>
        </ul>
        <ul>
            <li v-for="student in students">
                姓名:{{student.name}},
                年龄:{{student.age}},
                爱好:{{student.hobby}}
            </li>
        </ul>
    </div>
    <script>
        new Vue({
            el: '#app',
            data: {
                xxoo: ['吃', '喝', '嫖', '赌'],
                students: [
                    {
                        name: '龙达',
                        age: 18,
                        hobby: 'girl',
                    },
                    {
                        name: '小默',
                        age: 19,
                        hobby: 'younggirl',
                    },
                    {
                        name: '小小默',
                        age: 20,
                        hobby: 'she',
                    }
                ]
            }
        })
    </script>
</body>

  打印结果:

 

  v-if / v-else-if / v - else

<script src="./static/vue.min.js"></script>
<body>
    <div id="app">
        <div v-if="role == 'LongDa'">
            <h1>男宾一位!!!</h1>
        </div>
        <div v-else-if="role == 'XiaoXiaoMo'">
            <h1>男宾两位!!!</h1>
        </div>
        <div v-else>
            <h1>滚!!!</h1>
        </div>
    </div>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                role: 'LongDa',
            }
        })
    </script>
</body>

  打印结果:

  v-show

<script src="./static/vue.min.js"></script>
<body>
    <div id="app">
        <div v-show="isShow">Hello Vue</div>
    </div>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                isShow: false,
            }
        })
    </script>
</body>

  具体实现原理是将div标签的display属性值设置为none。

 

  v-bind

<script src="./static/vue.min.js"></script>
    <style>
        .active {
            width: 500px;
            height: 500px;
            background-color: lawngreen;
        }
    </style>
<body>
    <div id="app">
        <a v-bind:href="jingdong">去京东</a>
        <div :class="[isActive]"></div>
    </div>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                jingdong: 'https://www.jd.com',
                isActive: 'active',
            }
        })
    </script>
</body>

 

  打印结果:  

 

   v-bind可以省略,直接写:class=['xxoo']

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0省略,

转载于:https://www.cnblogs.com/ZN-225/p/9926268.html

<think>我们正在为用户提供Vue3的入门指南。根据引用内容,我们可以整理出以下关键点: 1. 创建第一个Vue程序:使用`Vue.createApp`创建应用,使用`setup`函数定义响应式数据和方法,使用插值表达式`{{ }}`渲染数据。 2. 使用`v-for`指令循环渲染列表。 3. Vue3的新特性如`defineAsyncComponent`和`Suspense`组件处理异步组件。 4. 全局API的转移(从Vue2到Vue3的变化)。 考虑到用户是小白,我们需要从基础开始,循序渐进地介绍Vue3的核心概念和基本用法。 我们将按照以下结构组织回答: 1. Vue3简介:简要介绍Vue3及其优势。 2. 创建第一个Vue3应用:通过一个简单的例子展示如何创建Vue应用,包括模板、数据绑定和挂载。 3. 常用指令:介绍插值表达式、`v-for`、`v-if`等常用指令。 4. 响应式基础:介绍`setup`函数、`ref`和`reactive`的使用。 5. 事件处理:如何在Vue3中定义和调用方法。 6. 生命周期钩子:简要介绍Vue3的生命周期钩子及其使用。 7. 组件基础:如何创建和使用组件,异步组件(可选,作为进阶)。 8. 学习资源:推荐进一步学习的资源。 注意:由于引用中提到了钩子(生命周期钩子)和异步组件,我们会在适当的部分简单提及,但不会深入(因为用户是入门)。 同时,根据指令,我们需要在回答末尾生成相关问题。 由于用户要求入门指南,我们将以教程的形式呈现,确保步骤清晰。 下面开始组织回答: </think>### Vue3 小白入门指南 Vue3 是现代化的前端框架,通过组合式 API 提升了代码组织灵活性。以下从零开始逐步讲解核心概念: --- #### **1. 环境搭建** 通过 CDN 快速引入 Vue3(无需构建工具): ```html <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script> ``` --- #### **2. 创建第一个应用** **步骤**: 1. 创建容器元素: ```html <div id="app">{{ msg }}</div> ``` 2. 初始化 Vue 实例: ```javascript Vue.createApp({ setup() { // 定义响应式数据 let msg = "Hello Vue3!"; return { msg }; // 暴露数据给模板 } }).mount("#app"); // 挂载到DOM元素 ``` **结果**:页面显示 "Hello Vue3!"[^1]。 --- #### **3. 核心语法** - **插值表达式 `{{ }}`**:渲染数据 ```html <p>{{ user.name }}</p> <!-- 显示数据 --> ``` - **指令 `v-for`**:循环渲染列表 ```html <ul> <li v-for="(item, index) in items" :key="index"> 索引{{ index }}: {{ item }} </li> </ul> ``` ```javascript setup() { const items = ["Vue", "React", "Angular"]; return { items }; } ``` 效果:生成带索引的列表项[^2]。 - **事件处理 `@click`**:绑定方法 ```html <button @click="sayHi">点击</button> ``` ```javascript const sayHi = () => alert("Hi!"); return { sayHi }; ``` --- #### **4. 响应式数据** 使用 `ref` 或 `reactive` 创建响应式变量(需引入): ```javascript import { ref, reactive } from "vue"; setup() { const count = ref(0); // 基础类型 const user = reactive({ name: "Alice" }); // 对象类型 const addCount = () => count.value++; // 更新数据触发视图刷新 return { count, user, addCount }; } ``` --- #### **5. 生命周期钩子** 常用钩子(在 `setup` 中使用): ```javascript import { onMounted } from "vue"; setup() { onMounted(() => { console.log("组件已挂载"); // 替代 Vue2 的 mounted() }); } ``` --- #### **6. 异步组件加载** 优化大型应用性能: ```javascript import { defineAsyncComponent } from "vue"; const AsyncComponent = defineAsyncComponent(() => import("./components/AsyncComponent.vue") ); ``` 结合 `<Suspense>` 展示加载状态[^3]: ```html <Suspense> <template #default><AsyncComponent /></template> <template #fallback><p>加载中...</p></template> </Suspense> ``` --- #### **7. 学习资源推荐** - 官方文档:[Vue3 官方指南](https://vuejs.org/guide/introduction.html) - 实战练习:[Vue School](https://vueschool.io/) - 社区论坛:[Vue Forum](https://forum.vuejs.org/) > 提示:初学时建议从 CDN 引入入手,熟练后再使用 Vite 等构建工具[^4]。 --- ### 相关问题 1. Vue3 的 `ref` 和 `reactive` 有什么区别? 2. 如何在 Vue3 中实现父子组件通信? 3. Vue3 对比 Vue2 的主要优势是什么? 4. 如何用 Vue Router 实现页面路由?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值