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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-4 11:05:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

  a, h% A3 H8 {; y, L
本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化:
实例
& S: _! G( p3 ^( }) |$ ?& J* v
6 G" `: W6 X* y3 q2 W) e( C4 c  @5 P
  1. <div id = "computed_props">+ N1 ?" K, t# U. z2 @2 r
  2.     千米 : <input type = "text" v-model = "kilometers">
    % A! g0 f# Y) H" f
  3.     米 : <input type = "text" v-model = "meters">
    4 |$ Z! V7 T( x5 q6 Q* E
  4. </div>8 {, L6 s; ]+ w
  5. <p id="info"></p>1 e9 ~8 h% l" K
  6. <script type = "text/javascript">
    ) s8 x  N  G+ d9 D6 P
  7.     var vm = new Vue({/ e3 t# b+ }, i% m
  8.     el: '#computed_props',2 {- l, d8 i6 q" f/ d
  9.     data: {# ^) ~2 e8 {: J6 d9 F0 U
  10.         kilometers : 0,
    % W* C3 z) M% f
  11.         meters:00 ^7 i8 G* d% l9 T
  12.     },+ K& |- Y) d1 q+ ^: Z
  13.     methods: {7 `. t0 ^) F( b0 s" w% M
  14.     },1 c: G- j( C: \, b& S/ a4 C
  15.     computed :{
    $ M& G/ d( x, M( T' [
  16.     },
    $ P# z+ q. X, k& n  J! v2 t
  17.     watch : {
    9 L: _: b5 S/ b5 J2 s
  18.         kilometers:function(val) {8 `5 ~! s% |  p0 w$ ]+ }! ]( A9 H
  19.             this.kilometers = val;
    1 H. Q' F2 A4 v' F3 X: {
  20.             this.meters = val * 1000;2 D' H- i1 y3 |  u% x7 {
  21.         },
    7 B: L5 }% @% I% g$ n: D  b& {* `" n, D
  22.         meters : function (val) {% U7 c' D6 E& P+ p' c9 n6 A
  23.             this.kilometers = val/ 1000;5 m8 A6 F& Q7 f) U  V% z& P/ E; X0 \
  24.             this.meters = val;
    8 u3 U5 W3 T7 F( s# G! R7 E
  25.         }
    ; t- q3 @+ y1 R! g9 S: Z
  26.     }9 S% ^7 Y& q7 R- a- U' X6 w) I
  27.     });" `4 y9 Q2 F+ }+ p
  28.     // $watch 是一个实例方法' O0 \' i. U  \  d6 K
  29.     vm.$watch('kilometers', function (newValue, oldValue) {. G* |1 X4 t5 S: u. W
  30.     // 这个回调将在 vm.kilometers 改变后调用6 r3 @/ @$ k% m7 H; y" ^* l
  31.     document.getElementById ("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;
      N) ~9 X6 O, \' E) `+ u/ ?
  32. }): S" \& h/ g( t( Y( z
  33. </script>
复制代码
以上代码中我们创建了两个输入框,data 属性中, kilometers 和 meters 初始值都为 0。watch 对象创建了两个方法 kilometers 和 meters。
当我们再输入框输入数据时,watch 会实时监听数据变化并改变自身的值。
, m) @6 }) q4 q  e, g2 x
# O" K7 |9 K1 D: I. N4 R! J/ t& t

* u$ a; {- h  X
- _* h1 ^+ Q0 V: ?% L
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-8-4 15:15 , Processed in 0.048380 second(s), 19 queries .

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