watch监听详解

localStorage存储对象,sessionStorage存储数组对象 ,cookie、localStorage和sessionStorage 区别   前言 最近在用angular做商城购物车的功能模块,因为angular的watch监听,数据只要发生变化就能很方便的自动渲染页面。但随即出现的问题是,之前用户操作的样式都会被重置掉。 例如我勾选了几个商品准备结算,又修改了商品数量,这时候发起了请求,页面数据被渲染,打钩的商品全被恢复未选中。 想着将所有选中商品的独有Id存入数组,利用localStorage存储,每次刷新都取到存储的数... 阅读详情

    <template>
      <h1>{{userName }}</h1>
      <input type="text" v-model="userName" />
    </template>
     
    <script>
    export default {
      name: "Watch",
      data() {
        return {
             userName: "ll"
        };
      },
       watch:{
         userName(newVal,oldVal){
           console.log(newVal,oldVal);
         },
       },
      methods: {},
    };
    </script>
     
    <style scoped>
    </style>

2.刚一进页面就监听(immediate)

    <template>
      <h1>{{userName }}</h1>
      <input type="text" v-model="userName" />
    </template>
     
    <script>
    export default {
      name: "Watch",
      data() {
        return {
             userName: "ll"
        };
      },
      watch:{
        userName:{
          handler(newVal,oldVal){
          console.log(newVal,oldVal);
          },
        immediate:true
        },
      methods: {},
    };
    </script>
     
    <style scoped>
    </style>

3.如果监听对象(deep)

    <template>
      <h1>{{ obj.userName }}</h1>
      <input type="text" v-model="obj.userName" />
    </template>
     
    <script>
    export default {
      name: "Watch",
      data() {
        return {
          obj: {
            userName: "ll",
            age:20
          },
        };
      },
      watch: {
        obj: {
          handler(newVal, oldVal) {
            console.log(newVal, oldVal);
          },
          deep: true,
          immediate: true,
        },
      },
      methods: {},
    };
    </script>
     
    <style scoped>
    </style>

4.只监听对象中的某一项

    <template>
      <h1>{{ obj.userName }}</h1>
      <input type="text" v-model="obj.userName" />
    </template>
     
    <script>
    export default {
      name: "Watch",
      data() {
        return {
          obj: {
            userName: "ll",
            age:20
          },
        };
      },
      watch: {
        'obj.userName': {
          handler(newVal, oldVal) {
            console.log(newVal, oldVal);
          },
          immediate: true,
        },
      },
      methods: {},
    };
    </script>
     
    <style scoped>
    </style>
————————————————
 

详解Vue中的Watch监听 Watch 本文将从以下方面讲解个人理解的Watch监听 1、普通Watch监听事件回调 2、深度监听:deep 3、初始化时触发:immediate 4、Watch与Computed的区别 在官方的原话是 字面意思,watch是一个对象,对象中的 键 是 需要被监听的表达式(在data中声明的或是父组件传递props中的数据),值 是 对应固定的回调函数,或者是一个定义在methods中的方法名称。 实例化的时候会调用 $watch() 去遍历你在watch中设置的所有属性(键:值) 1、普 阅读详情

相关推荐

详解vuex结合localstorage动态监听storage的变化

主要介绍了详解vuex结合localstorage动态监听storage的变化,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Vue2.0 V1.1版本 增删改查功能,全选单选与取消全选选项,使用localStorage本地存储数据和watch深度监听

TodoList完善版。Vue2.0 V1.0的增删改查功 全选单选与取消全选选项, 使用了localStorage本地存储数据和watch深度监听数据选项变化。TodoList完善版。 用于学习的小Demo. TodoList 传值学习,父传子 子传孙 子传父 传值等学习,全选计算属性 套娃 事件都在APP.vue中 下载 npm install 启动 npm run serve TodoList目录下是小Demo Lx目录下是某个知识点学习...

vue watch监听对象及对应值的变化详解

如下所示: var vm=new Vue({ data:{ a:1, b:{ c:1 } }, watch:{ a(val, oldVal){//普通的watch监听 console.log("a: "+val, oldVal); }, b:{//深度监听,可监听到对象、数组的变化 handler(val, oldVal){ console.log("b.c: "+val.c, oldVal.c);//但是这两个值打印出来却都是一样的 }, deep:tru

vue监听watch使用

watch监听一定要监听:属性值,也就是data值 案例 data () { return { language: '' } }, methods: { handleSetLanguage (lang) { this.$i18n.locale = lang; this.language = lang; localStorage.setItem("lang", lang); } }, watch: { .

m0_49714202的博客 2239

监听localStorage中的值更新

vue开发中,我们需要进行很多组件通信的操作,一般情况下我们将数据放到vuex中的时候,很容易通过计算属性和watch监听的方式进行通信,但我们的数据存储在localStorage中的时候,就需要通过localStorage.setItem的回调函数来监听值地改变了 jiu //定义localStorage.setItem的回调函数 localStorage.setItem = (key, v...

Linho的博客 4030

vue中的watch监听数据变化以及watch中各属性的详解

1、watch使用的几种方法 (1)通过watch监听data数据的变化,数据发生变化时,就会打印当前的值 watch: { data(val, newval) { console.log(val) console.log(newval) } } (2)通过watch监听docData数据的变化,数据发生变化时,this.change_nu...

weixin_42667944的博客 5194

vue 监听表格里的数据变化_vue中的watch监听数据变化以及watch中各属性详解

1、watch使用的几种方法(1)通过watch监听data数据的变化,数据发生变化时,就会打印当前的值watch: {data(val, newval) {console.log(val)console.log(newval)}}(2)通过watch监听docData数据的变化,数据发生变化时,this.change_number++(使用深度监听)watch: {docData: {handl...

weixin_39983563的博客 1233

vue的监听属性watch详解

watch 是一个对象,键是需要观察的表达式,用于观察 Vue 实例上的一个表达式或者一个函数计算结果的变化。回调函数的参数是新值和旧值。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个 property。

鹏多多的博客 4780

watch监听路由变化详解

一、watch监听路由的方法 通过watch监听,当路由发生变化的时候执行。 方法一: watch:{ $router(to,from){ console.log(to.path) } } 方法二: watch: { $route: { handler: function (val, oldVal){ console.log(val); }, // 深度观察监听 deep: true } }, .

hsany330的专栏 1万+

watch 监听详解

版权声明:本文为CSDN博主「——周彤——」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/Zt0118/article/details/127889378。2.刚一进页面就监听(immediate)3.如果监听对象(deep)4.只监听对象中的某一项。

qq_53287145的博客 480

vue 监听表格里的数据变化_vue中的watch监听数据变化及watch中各属性的详解

首先确认 watch是一个对象,一定要当成对象来用。对象就有键,有值。键:就是你要监控的那个家伙,比如说$route,这个就是要监控路由的变化。或者是data中的某个变量。值可以是函数:就是当你监控的家伙变化时,需要执行的函数,这个函数有两个形参,第一个是当前值,第二个是变化后的值。值也可以是函数名:不过这个函数名要用单引号来包裹。第三种情况厉害了。值是包括选项的对象:选项包括有三个。1.第一个h...

weixin_39756235的博客 2581

关于vue监听watch详解

做项目时遇到了 对象属性改变 但是监听不了的问题,网上百度了一下关于watch里面handler的详解,找到了原因如下,现做个笔记方便自己 原贴链接:https://juejin.im/post/5c3702a46fb9a049fa0ff5f8 普通监听 缺点:不能深度监听(对象属性的改变),刷新或首次加载不能执行。 watch: { carts: function (va...

string佳佳的博客 548

Vue学习之watch监听详解

Watch监听详解 疫情期间在家蹲得都变懒咯,有短时间没写博客啦这次萌芽跟大家来谈谈Vue中的watch监听器!周末有小伙伴跟萌芽提到“深度监听”这个词,我寻思着不就是watch吗?怎么还分深的浅的?后来查了下才发现是萌芽小白了。watch基本上可以分为三种模式:【浅监听】【深监听】【局部监听】 这里萌芽先讲一下watch监听器是什么以及使用方式。[官方对watch的解释] 观察 Vue ...

萌芽萌芽子 1547

通过监听localStorage,实现多窗口通信

通过监听localStorage,实现浏览器多窗口通信 场景:多个窗口同时登陆,其中一个窗口进行退出登录操作后其他窗口同步退出登录

weixin_47738439的博客 943

watch 深度监听(模拟多条件筛选案例)

实现功能代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <t

ljy123w的博客 1272

vue 如何监听localStorage内的数据变化

vue 如何监听localStorage内的数据变化,这个问题百度了好久,都没有特别好的例子。 解决方式:我们在往localStorage 内设置值的时候,同时也往store内设置一个,这样我们监听store内的值变化就可以实现了实时监听watch:{ '$store.getters.lang': function(newlang){ // 业务代码 } } vue 如何使用Store.js呢:它是Vuex内的,我还没有深入研究它, https://vuex.vuejs.org/zh/guid

小先生编程 4815

watch深度监听

watch深度监听

小白白的博客 494

Vue2:利用watchlocalStorage存储数据案例

Vue

Brave_heart4pzj的博客 1241
上一篇: 2021-10-08
下一篇: watch 监听详解
路人乙Java
博客等级 码龄6年 5粉丝 · 10原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值