Javascript Prop在组件方法中是错误的
我遇到了一件很奇怪的事。 我渲染一个组件2次并通过道具;标题和容器 像这样:Javascript Prop在组件方法中是错误的,javascript,vue.js,Javascript,Vue.js,我遇到了一件很奇怪的事。 我渲染一个组件2次并通过道具;标题和容器 像这样: 在这个组件中,我有一个名为submitFile的方法,它读取一个文件,然后将其与内容一起发出,以及该内容最终所在的容器属性 提交文件(e){ const file=e.target.files[0]; const reader=new FileReader(); reader.onload=(e)=> 此.$emit(“加载”{ 内容:e.target.result, 容器:此.$props.container,
在这个组件中,我有一个名为submitFile
的方法,它读取一个文件,然后将其与内容一起发出,以及该内容最终所在的容器属性
提交文件(e){
const file=e.target.files[0];
const reader=new FileReader();
reader.onload=(e)=>
此.$emit(“加载”{
内容:e.target.result,
容器:此.$props.container,
});
reader.readAsText(文件);
}
问题是this.$props.container
返回了错误的道具,这非常奇怪,好像我将道具渲染为正确的。我还可以在mounted()
事件中记录道具,道具是正确的。但在功能上是错误的。它始终是首先渲染的组件。我的意思是,如果第一个组件的容器属性为“blabla”。第二个组件prop在渲染时正确,但在submitFile
函数中使用时错误
我甚至尝试通过以下方式创建新变量:
data(){return{test:this.$props.container}}
然后在submitFile
函数中使用this.test代替这个.props.container,但它仍然是错误的
我还尝试在调用函数时将道具作为道具传递
这是FileReader组件:
{{title}}
导出默认值{
安装的(){
console.log(this.props.container);//调试
},
方法:{
提交文件(ev){
const file=ev.target.files[0];
const reader=new FileReader();
reader.onload=(e)=>
此.$emit(“加载”{
内容:e.target.result,
容器:这个容器,
});
reader.readAsText(文件);
},
},
道具:[“标题”,“容器”],
};
这就是我启动组件的地方
日志查看器
至少:1。您有两个e
params 2this.$props.container
最好是简单的this.container
没有任何改变):我得到了同样的结果我没有提出解决方案,只是一些小问题。请在实例化这两个组件的地方添加代码/模板。我现在编辑并添加了更多代码。为什么FileReader组件需要容器
道具?除了通过load
事件发出它之外,它根本不使用它。父级已经知道容器是什么。