Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Prop在组件方法中是错误的_Javascript_Vue.js - Fatal编程技术网

Javascript Prop在组件方法中是错误的

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,

我遇到了一件很奇怪的事。 我渲染一个组件2次并通过道具;标题和容器

像这样:


在这个组件中,我有一个名为
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 2
this.$props.container
最好是简单的
this.container
没有任何改变):我得到了同样的结果我没有提出解决方案,只是一些小问题。请在实例化这两个组件的地方添加代码/模板。我现在编辑并添加了更多代码。为什么FileReader组件需要
容器
道具?除了通过
load
事件发出它之外,它根本不使用它。父级已经知道容器是什么。