我需要在更新时强制重新渲染组件才能调用FB.XFBML.parse()
。但是,无论我做什么,当属性更新时,我都无法调用任何生命周期钩beforeUpdate
/ updated
。 (根据docs,它只会监听data
明显不属于props
的更新。
<template>
<div>
{{myProp}}
</div>
</template>
<script>
export default {
props: ['myProp'],
watch: {
myprop: function(newVal, oldVal) { // watch it
console.log('Prop changed: ', newVal, ' | was: ', oldVal)
}
},
updated(){ // never invoked},
beforeUpdate(){ // never invoked }
}
</script>
我可以看到,当从父组件发送不同的值时,属性channel
发生了变化。
是否有用于监听props
更改的挂钩?
更新
正如@chris建议的那样,我试图watch
我的财产,但没有任何改变。然后我意识到我有一个特例:
<template>
<child :my-prop="myProp"></child>
</template>
<script>
export default {
props: ['myProp']
}
</script>
我将父组件收到的myProp
传递给child
组件。然后watch: {myProp: ...}
无效。
答案 0 :(得分:1)
您正在寻找的是watch:
<script>
export default {
props: ['channel'],
watch: {
channel(newValue) {
console.log(newValue)
}
}
}
</script>