Javascript Vue.js';道具';正在模板中工作,但在方法中未定义
我有一个chile vue组件,一个属性作为Javascript Vue.js';道具';正在模板中工作,但在方法中未定义,javascript,vue.js,vuejs2,vuejs3,Javascript,Vue.js,Vuejs2,Vuejs3,我有一个chile vue组件,一个属性作为'initial\u features'传递 <child-component :initial_features="features"></child-component> “我的孩子”组件的代码为: <template> <div class="container"> <div class="row justify-
'initial\u features'
传递
<child-component :initial_features="features"></child-component>
“我的孩子”组件的代码为:
<template>
<div class="container">
<div class="row justify-content-center">
<div class="col">
{{ initial_features }} //this prop is working here
</div>
</div>
</div>
</template>
<script>
export default {
props: ['initial_features'],
data() {
return {
features: this.initial_features, //undefined
}
},
methods: {},
computed: {},
mounted() {
console.log(this.initial_features); //output is undefined here
}
}
</script>
{{initial_features}}//这个道具在这里工作
导出默认值{
道具:[“初始功能”],
数据(){
返回{
features:this.initial\u features,//未定义
}
},
方法:{},
计算:{},
安装的(){
console.log(this.initial_features);//此处未定义输出
}
}
这种类型的代码我已经写过很多次了,但是这次我没有得到预期的结果。道具应在数据或安装部分工作。我的代码中有错误吗?看起来可能是数据争用情况 加载组件后,必须在组件的使用者中更新“初始\u功能”,因此,最初将数据设置为未定义,您可以始终监视初始\u功能,并将data.features指定给初始\u功能的新值
如果您希望数据跟踪/更新道具,请考虑组件
中的V-Mype属性,看起来它可能是数据竞争条件。 加载组件后,必须在组件的使用者中更新“初始\u功能”,因此,最初将数据设置为未定义,您可以始终监视初始\u功能,并将data.features指定给初始\u功能的新值如果您希望数据跟踪/更新道具,请考虑组件
中的V-Mype属性使数据
我尝试了这两种方法,但都得到了未定义的数据(vm){return{features:vm.initial\u features,};}
?我对您的代码不太了解(例如initial\u features
道具的类型以及父组件中发生了什么)但是数据
函数在创建组件时只调用一次,因此如果稍后更新prop,则它对数据
中的特性
没有影响,除非您传递对象/数组并更新该对象/数组而不是替换它(这里不是这种情况,因为初始值是未定义的
)。添加父级代码和更多详细信息..在数据中设置功能:null
,并使用创建的
功能将其复制到功能中。:)不需要。您可以使用道具来初始化数据
我尝试了这两种方法,但都得到了未定义的数据(vm){return{features:vm.initial\u features,};}
?我对您的代码不太了解(例如initial\u features
道具的类型以及父组件中发生了什么)但是数据
函数在创建组件时只调用一次,因此如果稍后更新prop,则它对数据
中的特性
没有影响,除非您传递对象/数组并更新该对象/数组而不是替换它(这里不是这种情况,因为初始值是未定义的
)。添加父级代码和更多详细信息。。