如下代码:
<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>
到此这篇关于vue项目中data数据之间互相访问的实现的文章就介绍到这了,更多相关vue data互相访问内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!