编程语言
首页 > 编程语言> > javascript – VueJs 2.0 – 如何监听`props`的变化

javascript – VueJs 2.0 – 如何监听`props`的变化

作者:互联网

VueJs 2.0 docs我找不到任何会听道具变化的钩子.

VueJs有像onPropsUpdated()或类似的钩子吗?

更新

正如@wostex建议的那样,我试图看我的财产但没有改变.然后我意识到我有一个特例:

<template>
    <child :my-prop="myProp"></child>
</template>

<script>
   export default {
      props: ['myProp']
   }
</script>

我正在传递父组件接收到子组件的myProp.然后手表:{myProp:…}无效.

解决方法:

您可以观看道具,在道具更改时执行一些代码:

new Vue({
  el: '#app',
  data: {
    text: 'Hello'
  },
  components: {
    'child' : {
      template: `<p>{{ myprop }}</p>`,
      props: ['myprop'],
      watch: { 
      	myprop: function(newVal, oldVal) { // watch it
          console.log('Prop changed: ', newVal, ' | was: ', oldVal)
        }
      }
    }
  }
});
<script src="https://unpkg.com/vue/dist/vue.js"></script>

<div id="app">
  <child :myprop="text"></child>
  <button @click="text = 'Another text'">Change text</button>
</div>

标签:javascript,vue-js,vue-component,vuejs2
来源: https://codeday.me/bug/20190926/1820951.html