Vue.js 什么时候定义的道具等于传递给组件的道具?
我的组件有一些不可靠的行为,我要调试的Vue.js 什么时候定义的道具等于传递给组件的道具?,vue.js,vuejs2,Vue.js,Vuejs2,我的组件有一些不可靠的行为,我要调试的prop被传递到该组件: <my-component :number="someNumber" /> number通过标准的prop:[“number”]声明在my component中提供 我的问题:在反应性循环的哪个点上,number定义为父项中的someNumber值 具体来说,当number具有正确的值时,我需要执行一些操作(在此之前,我假设它是undefined)。我可以这样做: created() moun
prop
被传递到该组件:
<my-component :number="someNumber" />
number
通过标准的prop:[“number”]
声明在my component
中提供
我的问题:在反应性循环的哪个点上,number
定义为父项中的someNumber
值
具体来说,当number
具有正确的值时,我需要执行一些操作(在此之前,我假设它是undefined
)。我可以这样做:
created()
mounted()
- 或者通过观看
number
number
具有传递给组件的值的部件)
我目前的调查结果是:
- 第一次使用组件时,
正常,在watch
中,值为mounted()
undefined
- 在后续使用组件时,
不会触发(当传递相同的值时),但是watch
现在具有正确的值mounted()
因此,我的解决方法是同时使用这两种方法(对未定义的
进行一些检查),但它看起来非常不稳定。在创建之前的数据()
中可以找到它。在没有道具的情况下,您可以定义要由Vue执行的某些代码的唯一位置是beforeCreated
Vue.component('my-component'){
道具:[“p”],
数据(){
返回{
d:这个
}
},
创建(){
log(“创建:”,this.p,this.d)
},
安装的(){
log(“mounted:”,this.p,this.d)
},
模板:`{p}}{{d}`
})
const vm=新的Vue({
el:“#应用程序”,
数据(){
返回{
v:10
}
},
})