Vue基础系列数据绑定以及姓名案例的三种写法

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue基础系列数据绑定以及姓名案例的三种写法相关的知识,希望对你有一定的参考价值。

和阿牛一起冲Vue


🌕写在前面
🍊博客主页勇敢link牛牛
🎉欢迎关注:🔎点赞👍收藏⭐️留言📝
🌟本文由 勇敢link牛牛 原创,CSDN首发!
📆首发时间:🌹2022年3月3日🌹
🆕最新更新时间:🎄2022年3月3日🎄
✉️愿你熬过万丈孤独,藏下星辰大海!
📠参考书籍:📚《Vue2》
🙏作者水平很有限,如果发现错误,请留言轰炸哦!万分感谢感谢感谢!

文章目录



前言

青春,因为奋斗与奉献更美丽。


姓名案例-插值语法

直接调用属性值数据

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>姓名案例</title>
</head>

<body>
    <div id="root">
        姓:<input type="text" v-model:value="firstName"><br />
        名:<input type="text" v-model="lastName"><br />
        姓名: <span>firstName.slice(0,3)-lastName</span>
    </div>
</body>
<script src='vue.js'></script>
<script>
    Vue.config.productionTip = false;
    new Vue(
        el: '#root',
        data: 
            name: 'jack',
            message: 
                url: 'https://blog.csdn.net/m0_46672781?spm=1000.2115.3001.5343',
                name: '勇敢牛牛'
            ,
            firstName: '牛',
            lastName: '哥',
        
    );
</script>

</html>

姓名案例_menthods方法

将属性值加以函数话调用

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>姓名案例</title>
</head>

<body>
    <div id="root">
        姓:<input type="text" v-model:value="firstName"><br />
        名:<input type="text" v-model="lastName"><br />
        姓名: <span>fullName()</span>

    </div>
</body>
<script src='vue.js'></script>
<script>
    Vue.config.productionTip = false;
    new Vue(
        el: '#root',
        data: 
            name: 'jack',
            message: 
                url: 'https://blog.csdn.net/m0_46672781?spm=1000.2115.3001.5343',
                name: '勇敢牛牛'
            ,
            firstName: '牛',
            lastName: '哥'
        ,
        methods: 
            fullName() 
                return this.firstName + '-' + this.lastName;
            
        
    );
</script>

</html>

姓名案例-计算属性

通过computed计算属性(缓存优化

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>姓名案例-计算属性</title>
</head>

<body>
    <div id="root">
        姓:<input type="text" v-model:value="firstName"><br />
        名:<input type="text" v-model="lastName"><br />
        姓名: <span>fullName</span>

    </div>
</body>
<script src='vue.js'></script>
<script>
    Vue.config.productionTip = false;
    new Vue(
        el: '#root',
        data: 
            name: 'jack',
            message: 
                url: 'https://blog.csdn.net/m0_46672781?spm=1000.2115.3001.5343',
                name: '勇敢牛牛'
            ,
            firstName: '牛',
            lastName: '哥'
        ,
        computed: 
            fullName: 
                // 当有人读取fullname了,get就会被调用,且返回值作为fullname的值
                // get : 初次使用+所依赖的数据发生变换
                get() 
                    return this.firstName + '-' + this.lastName;
                ,
                // 当fullname修改时
                set(value) 
                    console.log('全名被修改');
                    const arr = value.split('-');
                    this.firstName = arr[0];
                    this.lastName = arr[1];
                
            
        
    );
</script>

</html>

简写方式:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>姓名案例-计算属性</title>
</head>

<body>
    <div id="root">
        姓:<input type="text" v-model:value="firstName"><br />
        名:<input type="text" v-model="lastName"><br />
        姓名: <span>fullName</span>

    </div>
</body>
<script src='vue.js'></script>
<script>
    Vue.config.productionTip = false;
    new Vue(
        el: '#root',
        data: 
            name: 'jack',
            message: 
                url: 'https://blog.csdn.net/m0_46672781?spm=1000.2115.3001.5343',
                name: '勇敢牛牛'
            ,
            firstName: '牛',
            lastName: '哥'
        ,
        computed: 
            fullName: function () 
                return this.firstName + '-' + this.lastName;
            

        
    );
</script>

</html>

总结

计算属性:

1.定义:要用的属性不存在,要通过已有属性计算得来。
2.原理:底层借助了Objcet.defineproperty方法提供的getter和setter。
3.get函数什么时候执行?

  • 初次读取时会执行一次。
  • 当依赖的数据发生改变时会被再次调用。

4.优势:与methods实现相比,内部有缓存机制(复用),效率更高,调试方便。
备注:
1.计算属性最终会出现在vm上,直接读取使用即可。
2.如果计算属性要被修改,那必须写set函数去响应修改,且set中要引起计算时依赖的数据发生改

以上是关于Vue基础系列数据绑定以及姓名案例的三种写法的主要内容,如果未能解决你的问题,请参考以下文章

vue文本渲染的三种方法

Vue基础系列数据绑定-单项数据绑定-双向数据绑定-el与data的两种写法

Vue - 监听文本框数据的三种方法

一维数组的三种写法

cgb2110-day11

小白入门之前端网页技术 Vue