Reactjs 在vue electron中,如何在父组件和子组件之间绑定数据?
我试图通过理解完成的代码来学习electron vue。 对于源代码,我使用的是Eplee,它是一个用vue js+electron构建的epub阅读器 这里是指向Eplee的源链接。Reactjs 在vue electron中,如何在父组件和子组件之间绑定数据?,reactjs,vue.js,electron-vue,Reactjs,Vue.js,Electron Vue,我试图通过理解完成的代码来学习electron vue。 对于源代码,我使用的是Eplee,它是一个用vue js+electron构建的epub阅读器 这里是指向Eplee的源链接。 书签 {{node.label} 导出默认值{ 名称:“书签菜单”, 道具:{ 书签:{ 默认值:()=>{}, 类型:数组, }, 主题:{ 默认值:'default', 类型:字符串, } }, 方法:{ addBookmark(){ 这是。$emit('add-bookmark'); }, 移除书签(数
书签
{{node.label}
导出默认值{
名称:“书签菜单”,
道具:{
书签:{
默认值:()=>{},
类型:数组,
},
主题:{
默认值:'default',
类型:字符串,
}
},
方法:{
addBookmark(){
这是。$emit('add-bookmark');
},
移除书签(数据){
此.$emit('remove-bookmark',data);
},
onNodeClick(数据){
这是。$emit('node-click',data);
}
}
}
我不明白这里的数据是如何绑定的
比如说,,
当有一个点击
addBookmark
方法addBookmark
方法触发父组件的'add-bookmark'
只是为了样式而添加的类,而不是父组件
对于vue和react,我认为为了从不同的文件导入组件并正确放置它们,我需要放置两个东西
Electron只是web应用程序的运行时 看看Vue.js的事件模型 另外,请查看组件指南 就你而言
只是为了设计样式而添加的类,而不是父组件
它不是父组件,而是
组件的子组件。里面可能有任何东西
和this.$emit('add-bookmark')
方法触发组件的事件侦听器(如果有的话),该组件将
作为子组件
例如
嘿,你说得对。这就是为什么我感到困惑。如果您仔细查看源代码,就不会有类似于
的东西。有-克洛奇科,我明白我的错误了。childComponent=“parentComponent”,而不是“parentComponent”=childComponent和Vue不需要我像parentsComponent一样包装,谢谢!
<!-- BookmarkMenu.vue -->
<template>
<el-popover :popper-class="`popper ${theme}`" width="350" trigger="hover">
<div class="el-popover__title">
Bookmarks
<el-button size="mini" icon="el-icon-plus" circle @click="addBookmark" />
</div>
<el-button slot="reference" size="small" icon="el-icon-collection-tag" circle />
<el-tree :data="bookmarks" node-key="id" @node-click="onNodeClick">
<span slot-scope="{ node }" class="custom-tree-node">
<span>{{ node.label }}</span>
<span>
<el-button type="text" icon="el-icon-close" @click="() => removeBookmark(node)" />
</span>
</span>
</el-tree>
</el-popover>
</template>
<script>
export default {
name: 'BookmarkMenu',
props:{
bookmarks:{
default:()=>{},
type: Array,
},
theme:{
default:'default',
type:String,
}
},
methods:{
addBookmark(){
this.$emit('add-bookmark');
},
removeBookmark(data){
this.$emit('remove-bookmark',data);
},
onNodeClick(data){
this.$emit('node-click',data);
}
}
}
</script>
<style lang="scss" scoped>
</style>