zoukankan      html  css  js  c++  java
  • vue 监听器watch--总结

    <html>
      <head>
        <title>监听器 watch</title>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
      </head>
      <body>
        <div id="root">
          <h3>Watch 用法1:常见用法</h3>
          <input v-model="message">
          <span>{{copyMessage}}</span>
        </div>
        <div id="root2">
          <h3>Watch 用法2:绑定方法</h3>
          <input v-model="message">
          <span>{{copyMessage}}</span>
        </div>
        <div id="root3">
          <h3>Watch 用法3:deep + handler</h3>
          <input v-model="deepMessage.a.b">
          <span>{{copyMessage}}</span>
        </div>
        <div id="root4">
          <h3>Watch 用法4:immediate</h3>
          <input v-model="message">
          <span>{{copyMessage}}</span>
        </div>
        <div id="root5">
          <h3>Watch 用法5:绑定多个 handler</h3>
          <input v-model="message">
          <span>{{copyMessage}}</span>
        </div>
        <div id="root6">
          <h3>Watch 用法6:监听对象属性(逻辑比较轻,首选监听复杂的变量)</h3>
          <input v-model="deepMessage.a.b">
          <span>{{copyMessage}}</span>
        </div>
          
        <script>
          new Vue({
            el: '#root',
            watch: {
              message(value) {
                this.copyMessage = value
              }
            },
            data() {
              return {
                message: 'Hello Vue',
                copyMessage: ''
              }
            }
          })
          new Vue({
            el: '#root2',
            watch: {
              message: 'handleMessage'
            },
            data() {
              return {
                message: 'Hello Vue',
                copyMessage: ''
              }
            },
            methods: {
              handleMessage(value) {
                this.copyMessage = value
              }
            }
          })
          new Vue({
            el: '#root3',
            watch: {
                // 深度监听-handler绑定事件,deep:true
              deepMessage: {
                handler: 'handleDeepMessage',
                deep: true
              }
            },
            data() {
              return {
                deepMessage: {
                  a: {
                    b: 'Deep Message'
                  }
                },
                copyMessage: ''
              }
            },
            methods: {
              handleDeepMessage(value) {
                this.copyMessage = value.a.b
              }
            }
          })
          new Vue({
            el: '#root4',
            watch: {
                // create渲染前就进行了赋值,所以初始就监听
              message: {
                handler: 'handleMessage',
                immediate: true,
              }
            },
            data() {
              return {
                message: 'Hello Vue',
                copyMessage: ''
              }
            },
            methods: {
              handleMessage(value) {
                this.copyMessage = value
              }
            }
          }),
          new Vue({
            el: '#root5',
            watch: {
                // 不同方式绑定多个事件
              message: [{
                handler: 'handleMessage',
              },
              'handleMessage2',
              function(value) {
                this.copyMessage = this.copyMessage + '...'
              }]
            },
            data() {
              return {
                message: 'Hello Vue',
                copyMessage: ''
              }
            },
            methods: {
              handleMessage(value) {
                this.copyMessage = value
              },
              handleMessage2(value) {
                this.copyMessage = this.copyMessage + '*'
              }
            }
          })
          new Vue({
            el: '#root6',
            watch: {
              'deepMessage.a.b': 'handleMessage'
            },
            data() {
              return {
                deepMessage: { a: { b: 'Hello Vue' } },
                copyMessage: ''
              }
            },
            methods: {
              handleMessage(value) {
                this.copyMessage = value
              }
            }
          })
        </script>
      </body>
    </html>
    
  • 相关阅读:
    Springboot单元测试(MockBean||SpyBean)
    使用 Mockito 单元测试 – 教程
    spring结合mockito
    Spatis service单元测试: 使用mock mapper的方式
    单元测试Mockito中的Mock和Spy
    强大的Mockito测试框架
    Mockito单测,mock service层的mapper
    Mockito教程
    SetupFactory 制作安装包
    fiddler的一些记录
  • 原文地址:https://www.cnblogs.com/fdxjava/p/14279755.html
Copyright © 2011-2022 走看看