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

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

[复制链接]
跳转到指定楼层
楼主
发表于 2018-7-4 11:05:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/ Y" _. p* i4 z/ P
本章节,我们将为大家介绍 Vue.js 监听属性 watch,我们可以通过 watch 来响应数据的变化:
实例
9 V& A- d- k, I. j4 b4 D  @; G# l- Y* V
  1. <div id = "computed_props">) J! k8 \# }6 H- E# A9 M
  2.     千米 : <input type = "text" v-model = "kilometers">
    ) ]/ a, @. u3 s2 a6 j
  3.     米 : <input type = "text" v-model = "meters">, [% }) ~, y  L+ S( j7 c
  4. </div>- e3 F. l2 \; o
  5. <p id="info"></p>
    % K2 I8 G$ M2 x
  6. <script type = "text/javascript">5 \3 O" d8 b" l: P' S7 |  Q
  7.     var vm = new Vue({% j, o! ?7 K+ c0 V. h
  8.     el: '#computed_props',+ f( x, d! J& [; T( w$ m' c8 Q
  9.     data: {
    3 y( K5 d* z) f/ d' E* `
  10.         kilometers : 0,2 ?' n6 [& g$ c' s9 r
  11.         meters:08 }0 e# k( y% F0 v& x
  12.     },8 }* @" f: z! S2 Z# {- y) M
  13.     methods: {
    4 y/ r% J& M* C' A
  14.     },
    . U# Y  d7 y4 t" Q
  15.     computed :{
    9 o! h7 M: A/ {6 {
  16.     },! d) L! t, v/ _) w
  17.     watch : {
      T" Q2 f, W3 X! i7 Q1 `2 n
  18.         kilometers:function(val) {
    * [  W5 W* ]1 |* P- d
  19.             this.kilometers = val;) V! U' ~" \' b0 r. C  k8 A7 D
  20.             this.meters = val * 1000;( Y' V, V6 ~' G% G% z2 R
  21.         },
    ( K) g& w5 D/ q9 E, s9 E
  22.         meters : function (val) {: T  B( \3 S) r( H! b
  23.             this.kilometers = val/ 1000;
    9 L+ i( `/ _; F% L( B! k
  24.             this.meters = val;
    4 x9 I  O+ {9 m7 C) ?
  25.         }
    1 P) l& m# Y; L  h
  26.     }7 Q* A) ?" f: ^1 y5 I, d/ y
  27.     });% j$ E1 b( O9 s8 ]; i
  28.     // $watch 是一个实例方法
    " M1 \8 Z8 m. v) }4 F# Y" ~
  29.     vm.$watch('kilometers', function (newValue, oldValue) {
    2 V  R1 C0 X* C: _" h
  30.     // 这个回调将在 vm.kilometers 改变后调用. O6 q2 X. U% H$ U. y" n
  31.     document.getElementById ("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;8 K5 `( |$ a/ S3 t
  32. })9 j4 J- b0 h. K1 P' ]0 Z
  33. </script>
复制代码
以上代码中我们创建了两个输入框,data 属性中, kilometers 和 meters 初始值都为 0。watch 对象创建了两个方法 kilometers 和 meters。
当我们再输入框输入数据时,watch 会实时监听数据变化并改变自身的值。

' I6 d5 Z: }* j% ]+ F0 I% z
4 Z- D5 r) d7 n' ^2 j% \. I* y3 R' p- ]! V2 c- O3 c- [
7 g! F. t8 B* N7 q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2026-6-19 22:45 , Processed in 0.053276 second(s), 19 queries .

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