Vue入门教程

Vue实战

1.0 简介

什么是vue?

渐进式 JavaScript 框架,让我们很少的操作页面dom,甚至不操作,就可以实现视图与数据的绑定

在使用vue的时候,不要引用jQuery

**渐进式 **

  1. 易用

    已经会了 HTML、CSS、JavaScript?即刻阅读指南开始构建应用!

  2. 灵活

    不断繁荣的生态系统,可以在一个库和一套完整框架之间自如伸缩。

  3. 高效

    20kB min+gzip 运行大小 超快虚拟 DOM 最省心的优化

1.1 vue 版本选择(开发,与生产)

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

1.2 第一个入门程序

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <p>{
  { msg }}</p>
    {
  { user.name }}
</div>
</body>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js">
</script>
<script !src="">

    const app = new Vue({
        //表示给vue实例作用到那个元素上
        el: "#app",
        //用来给vue实例定义一些相关的数据
        data: {
            msg: "你好vue",
            user: {
                name: "王五"
            }
        }
    });
</script>
</html>
  1. el 表示vue对象的作用范围,在该范围内都可以使用vue的语法
  2. data 表示存放vue对象的一些数据,绑定的数据可以通过{ {数据名}} 取出来
  3. 使用{ {}} 取值的时候可以书写表达式列如{ { name.toLocaleUpperCase()+“oop” }}
  4. el 中可以书写任意的css选择器,在使用vue开发是建议使用id选择器

1.3 v-text与v-html

  • v-text

    可以获取vue中data的数据,以文本的形式渲染到元素中(类似于jQuery中的innerText)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <del v-text="msg"></del> 
    <span v-text="msg"></span>
</div>
</body>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    const app = new Vue({
     
        el: "#app",
        data: {
     
            msg: "你好"
        }
    });
</script>
</html>

总结

使用{ {}}代表插值表达式于v-text的区别

  1. 使用v-text会将标签中原有的数据覆盖,{ {}}不会覆盖
  2. 使用v-text可以避免在网络延迟是,出现数据未渲染的闪烁情况,{ {}}在网络情况差时渲染数据,会出现闪烁情况
  • v-html

    可以获取vue中data的数据,以html的形式渲染到元素中(类似于jQuery中的innerHTML)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <span v-html="msg"></span>
</div>
</body>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    const app = new Vue({
     
        el: "#app",
        data: {
     
            msg: "<i>你好</i>"
        }
    });
</script>
</html>

总结

使用{ {}}代表插值表达式于v-html的区别

  1. 使用v-html会将标签中原有的数据覆盖,{ {}}不会覆盖
  2. 使用v-html可以避免在网络延迟是,出现数据未渲染的闪烁情况,{ {}}在网络情况差时渲染数据,会出现闪烁情况
  3. 使用v-html可以解析html,而{ {}}不会

1.4 vue事件绑定(v-on)

语法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <button type="button" v-on:click="getDate">点我显示时间</button>
    <span v-text="msg"></span>
</div>
</body>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    const app = new Vue({
     
        el: "#app",
        data: {
     
            msg:""
        },
        //methods用来定义vue中的事件
        methods: {
     
            getDate: function () {
     
                //在事件函数中,this就是vue实例
                this.msg = new Date();
            }
        }
    });
</script>
</html>

事件总结

  1. 在vue中使用v-on:事件名完成事件于元素的绑定
  2. 在vue中事件函数统一的放在vue对象实例中methods属性管理
  3. 在vue事件函数中this就代表vue对象实例

事件绑定简化写法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <span v-text="age"></span>
    <input type="button" value="点击我增长一岁" @click="increment">
    <!--  等价于下面  -->
    <input type="button" value="点击我增长一岁" v-on:click="increment">
</div>
</body>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    const app = new Vue({
     
        el: "#app",
        data: {
     
            age: 16
        },
        methods: {
     
            increment: function () {
     
                this.age++;
            }
        }
    });
</script>
</html>

事件绑定简化写法总结

  1. 日后在开发vue中可以使用 @事件名=事件函数的方式,替换v-on:事件名=事件函数 的写法

事件函数简写

methods: {
    // increment: function () {
    //     this.age++;
    // }
    increment() {
        this.age++;
    }
}

1.5 v-show v-if v-bind

V-show 用来表示标签是否显示(其底层是控制的是display属性)不会修改DOM

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <input type="button" value="点击我显示时间" @click="showdate">
    <!--  v-show 可以控制标签是否显示  -->
    <p v-show="show" v-text="msg"></p>
</div>
</body>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    const app = new Vue({
     
        el: "#app",
        data: {
     
            show: false,
            msg: ""
        }, methods: {
     
            showdate() {
     
                this.msg = new Date();
                this.show = !this.show;
            }
        }

    });
</script>
</html>

总结在使用v-show可以直接使用bool值控制,可可以书写bool表达式控制

v-if 于v-show差不多不过(底层控制的是DOM元素) 会修改DOM

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<div id="app">
    <ul>
        <li v-if="msg===''"></li>
        <li v-else-if="msg===''"></li>
        <li v-else>双性</li>
    </ul>
    <input type="button" value="" @click="sex('')"><br>
    <input type="button" value="" @click="sex('')"><br>
    <input type="button" value="中性" @click="sex('中性')"><br>

</div>

</body>
<!-- 开发环境版本,包含了有帮助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script>
    const app = new Vue({
     
        el: "#app",
        data: {
     
            msg: "男"
        }, methods: {
     
            sex(data) {
     
                this.msg = data;
            }
        }

    });
</script>
</html>

v-bind(重点)用来把标签的属性绑定到vue对象属性上

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3 是一款流行的 JavaScript 框架,用于构建交互式的用户界面。下面是一个简单的 Vue 3 入门基础教程: 1. 安装 Vue 3:你可以通过使用 npm 或 yarn 在你的项目中安装 Vue 3。在命令行中运行以下命令来进行安装: ``` npm install vue@next ``` 或者 ``` yarn add vue@next ``` 2. 创建 Vue 实例:在你的 HTML 文件中,引入 Vue 库,并创建一个新的 Vue 实例。可以在实例化时指定选项对象来配置 Vue 实例。例如: ```javascript <html> <head> <script src="https://unpkg.com/vue@next"></script> </head> <body> <div id="app"> {{ message }} </div> <script> const app = Vue.createApp({ data() { return { message: 'Hello, Vue 3!' }; } }).mount('#app'); </script> </body> </html> ``` 3. 数据绑定:Vue 3 支持使用双大括号语法将数据绑定到 HTML 模板中。在上面的示例中,`message` 数据绑定到了 `<div>` 元素中。 4. 计算属性:Vue 3 还提供了计算属性的特性,用于在模板中动态计算一些值。可以通过定义 `computed` 对象来创建计算属性。例如: ```javascript const app = Vue.createApp({ data() { return { firstName: 'John', lastName: 'Doe' }; }, computed: { fullName() { return this.firstName + ' ' + this.lastName; } } }).mount('#app'); ``` 在模板中,你可以直接使用 `fullName` 计算属性。 这只是一个简单的入门教程Vue 3 还有很多其他功能和概念,例如组件、指令、事件处理等。你可以查阅 Vue 3 的官方文档以获得更详细的了解和学习资源。祝你学习愉快!

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值