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