您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15047|回复: 0
打印 上一主题 下一主题

[Vue.js] Vue.js 监听属性

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-4 11:05:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/ S" o$ k) o, ~* I$ t
本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化:
实例
2 Q2 a9 M% L) [9 K5 y! V: Q/ q: P8 ~6 {
  1. <div id = "computed_props">
    1 M7 B/ ~# N- n5 ?
  2.     千米 : <input type = "text" v-model = "kilometers">
    / b7 q# P4 U5 u! ?- K
  3.     米 : <input type = "text" v-model = "meters">
    % T4 X4 k% o8 |! {: p; Y
  4. </div>+ j. n, H* ]8 g% \* N1 a- J
  5. <p id="info"></p>- N( C- Q, S" s9 {( @
  6. <script type = "text/javascript">" q9 G7 C* [" n) l' p
  7.     var vm = new Vue({9 V8 R  t! Q5 g! X7 @
  8.     el: '#computed_props',- `) X, o& ]- Q
  9.     data: {: P  M# x% Z0 u; D- y
  10.         kilometers : 0,) U' {4 b. O3 t
  11.         meters:0
    ' G. ^7 k  p' g. T) t
  12.     }," m2 |" V' v! X  T/ b) q
  13.     methods: {
    7 G( a/ c- y" e# F3 C  x1 o
  14.     },. e; R- t/ X  m# @" W* e
  15.     computed :{5 w0 V+ `& W% L  {9 x5 K
  16.     },' H- y) g9 @' J0 X
  17.     watch : {
    ) M0 K! H  o8 q" `) L9 K% N* n
  18.         kilometers:function(val) {6 }. [! r& C: z8 }* V! @: q
  19.             this.kilometers = val;
    5 y4 v( t, c. U  v1 x! @' A
  20.             this.meters = val * 1000;
    2 z4 U' g' g! F8 o$ r
  21.         },
    + a& J5 g+ r7 w( D' }
  22.         meters : function (val) {
    ; \8 ?( p- O0 B! |& L) C! l- p
  23.             this.kilometers = val/ 1000;
    % w1 S* ^: B6 g  \
  24.             this.meters = val;0 e2 u! h0 o6 R
  25.         }
    4 s8 k) b: f2 L! ?7 M- c
  26.     }" T( p; |3 l& L7 u/ j
  27.     });$ k  j; t6 f' v; n. D" j; G  b" z
  28.     // $watch 是一个实例方法8 l! G4 K. [( u0 H  O9 G/ D
  29.     vm.$watch('kilometers', function (newValue, oldValue) {
    ' V0 d; E3 z4 }$ z
  30.     // 这个回调将在 vm.kilometers 改变后调用5 e# |0 U4 M7 K3 v+ G8 v0 ~  Y
  31.     document.getElementById ("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;
    , S3 Q; P7 ~( n# h( \  e
  32. })1 O6 A1 _, d+ M* V( D
  33. </script>
复制代码
以上代码中我们创建了两个输入框,data 属性中, kilometers 和 meters 初始值都为 0。watch 对象创建了两个方法 kilometers 和 meters。
当我们再输入框输入数据时,watch 会实时监听数据变化并改变自身的值。
8 L* p, t! L* x' F; f- ?6 I

# A. q& s7 t; z8 S. g/ o" B6 t7 k8 e" U- I$ j$ O1 c

' o# m3 V" O: C
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-20 04:36 , Processed in 0.053850 second(s), 21 queries .

Copyright © 2001-2026 Powered by cncml! X3.2. Theme By cncml!