信息发布→ 登录 注册 退出

vue项目中data数据之间互相访问的实现

发布时间:2026-01-11

点击量:

如下代码:

    <div id="vue_det">
        <input type="number" v-model="text">
        <div>{{textAdd}}</div>
    </div>
    
    <script type="text/javascript">
        var vm = new Vue({
            el: '#vue_det',
            data: {
                text: 1,
                textAdd:parseInt(this.text) + 1       
            }
        })
    </script>

想实现如下图所示效果:div标签里面的值为input中的值+1计算得出。

上面代码中的textAdd = parseInt(this.text) + 1,这种写法肯定访问不到this.text的值。

如若想访问data中的值,且textAdd是有text计算得出,想要实现双向数据绑定,text值变化,textAdd的值动态改变,可以用conputed来实现。代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>vue的data中数据互相访问</title>
    <script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
    <!-- <script src="vue.min.js"></script> -->
</head>
<body>
    <div id="vue_det">
        <input type="number" v-model="text">
        <div>{{textAdd}}</div>
    </div>
    
    <script type="text/javascript">
        var vm = new Vue({
            el: '#vue_det',
            data: {
                text: 1,
                // textAdd:this.text+1           
            },
            computed: {
                textAdd: function() {
                    return  (parseInt(this.text) + 1);
                }
            }
        })
    </script>
</body>
</html>
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!