Javascript 重新加载另一个Vue组件内部的Vue组件
我有一个Vue组件01,其中一个包含另一个Vue组件,即Vue组件02。在Vue 01中,我使用ajax请求获取数据并将其作为Vue 02的道具传递给Vue 02。但问题是,在一个ajax请求之后,vue 02不会根据新数据刷新其道具,除非我刷新web浏览器,是否有任何方法可以像每次ajax请求一样仅刷新vue 01中的组件 编辑:这是vue 01中的子vueJavascript 重新加载另一个Vue组件内部的Vue组件,javascript,vue.js,Javascript,Vue.js,我有一个Vue组件01,其中一个包含另一个Vue组件,即Vue组件02。在Vue 01中,我使用ajax请求获取数据并将其作为Vue 02的道具传递给Vue 02。但问题是,在一个ajax请求之后,vue 02不会根据新数据刷新其道具,除非我刷新web浏览器,是否有任何方法可以像每次ajax请求一样仅刷新vue 01中的组件 编辑:这是vue 01中的子vue <show-data-table v-if="show_data_table"
<show-data-table
v-if="show_data_table"
:data=this.selected_table_data
:col_names=this.selected_table_col_names
:header=this.header
:columns_count=this.col_count
:rows_count=this.row_count
:tble_name=this.selected_table_name
:database=this.db_name
></show-data-table>
数据部分:
data() {
return {
db_name: this.database_name,
tables: this.database_tables,
table_name: "",
selected_table_name: "",
selected_table_data: [],
selected_table_col_names: [],
show_data_table: false,
name: "",
header: true,
row_count: 0,
col_count: 0,
servs: false,
};
},
很难说没有更多的代码 两个最常见的错误:
data
部分声明父组件中所有应为被动的数据,否则它将不会是被动的:数据:{
返回(){
所选表格数据:[],
所选表格名称:[],
所选表格列名称:[]
}
}
数据:{
返回(){
所选表格数据:此。所选表格数据,
所选表格名称:此。所选表格名称,
所选表格列名称:此。所选表格列名称
}
}
原因:
data
创建组件时,子组件的函数只运行一次。如果它存储了由props从父级提供的引用,并且父级的props值随后被新值替换,则子级将不知道该更改。您可以为组件分配键<代码>。每次要刷新组件时,将myComponentKey更改为所需的任意值。但奇怪的是,Vue没有刷新道具。你能分享你的代码吗?你做错了什么,如果你通过道具将数据传递给子组件,并且如果父组件数据被更新,那么当我们设置通过道具重新激活时,一切都应该正常,如果事情仍然不清楚,请在skype上Ping me:syed_Haroon伙计们,我已经在这里发布了代码,家长对新数据做出了响应,但孩子出于某种原因不接受这些数据,请显示更多代码……是的,孩子有自己独特的数据。它没有复制。请随意告诉我我错了。。。但是由于组件2没有在每次接收新数据时重新安装,所以这不是问题吗??我找到了解决方案,它只不过是为子组件分配了一个键,这样它就会根据键的变化重新渲染自己。谢谢大家花时间在这个问题上这不是一个好的解决方案-只是一个黑客…它会在未来烧死你。。。
data() {
return {
db_name: this.database_name,
tables: this.database_tables,
table_name: "",
selected_table_name: "",
selected_table_data: [],
selected_table_col_names: [],
show_data_table: false,
name: "",
header: true,
row_count: 0,
col_count: 0,
servs: false,
};
},