在本章中,我们将学习watch
属性。 使用一个例子,我们会看到在VueJS中使用watch
属性。
示例
创建一个文件:watch-property.html -
<html>
<head>
<meta charset="utf-8" />
<title>VueJs Watch属性示例</title>
<script type = "text/javascript" src = "js/vue.js"></script>
</head>
<body>
<div id = "computed_props">
公里(kilometers) : <input type = "text" v-model = "kilometers">
米(meters) : <input type = "text" v-model = "meters">
</div>
<script type = "text/javascript">
var vm = new Vue({
el: '#computed_props',
data: {
kilometers : 0,
meters:0
},
methods: {
},
computed :{
},
watch : {
kilometers:function(val) {
this.kilometers = val;
this.meters = val * 1000;
},
meters : function (val) {
this.kilometers = val/ 1000;
this.meters = val;
}
}
});
</script>
</body>
</html>
在上面的代码中,我们创建了两个文本框,一个是公里,另一个是米。 在数据属性中,公里和米被初始化为0
。watch
对象创建有两个函数:kilometers
和meters
。 在这两个功能中,完成从公里到米,从米到公里的转换。
当在任何一个输入框中输入数值时,watch
会负责更新两个文本框。不必专门分配任何事件,等待它改变,并做了额外的验证工作。watch
负责通过在各个功能中完成的计算来更新文本框。
我们来看看浏览器中的输出。如下图所示 -
现在在公里 文本框中输入一些值,并在米文本框中看到它的变化,反之亦然。