Estoy tratando de aprender electron-vue entendiendo un código terminado. Para la fuente, estoy usando Eplee, que es un lector epub construido con vue js electron. Aquí está el enlace de la fuente a Eplee. https://github.com/Janglee123/eplee

{amp}lt;!-- BookmarkMenu.vue --{amp}gt; {amp}lt;template{amp}gt; {amp}lt;el-popover :popper-class="`popper ${theme}`" width="350" trigger="hover"{amp}gt; {amp}lt;div class="el-popover__title"{amp}gt; Bookmarks {amp}lt;el-button size="mini" icon="el-icon-plus" circle @click="addBookmark" /{amp}gt; {amp}lt;/div{amp}gt; {amp}lt;el-button slot="reference" size="small" icon="el-icon-collection-tag" circle /{amp}gt; {amp}lt;el-tree :data="bookmarks" node-key="id" @node-click="onNodeClick"{amp}gt; {amp}lt;span slot-scope="{ node }" class="custom-tree-node"{amp}gt; {amp}lt;span{amp}gt;{{ node.label }}{amp}lt;/span{amp}gt; {amp}lt;span{amp}gt; {amp}lt;el-button type="text" icon="el-icon-close" @click="() ={amp}gt; removeBookmark(node)" /{amp}gt; {amp}lt;/span{amp}gt; {amp}lt;/span{amp}gt; {amp}lt;/el-tree{amp}gt; {amp}lt;/el-popover{amp}gt; {amp}lt;/template{amp}gt; {amp}lt;script{amp}gt; export default { name: 'BookmarkMenu', props:{ bookmarks:{ default:()={amp}gt;{}, 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); } } } {amp}lt;/script{amp}gt; {amp}lt;style lang="scss" scoped{amp}gt; {amp}lt;/style{amp}gt; 

No entiendo cómo se enlazan los datos aquí.

Por ejemplo, {amp}lt;el-button size="mini" icon="el-icon-plus" circle @click="addBookmark" /{amp}gt; cuando hay un clic

  1. activa el método addBookmark de BookmarkMenu.vue

  2. addBookmark método addBookmark activa el 'add-bookmark' del componente padre

Pero, {amp}lt;el-button{amp}gt;{amp}lt;/el-button{amp}gt; es solo una clase agregada con el propósito de diseñar, no un componente principal.

Tanto para vue como para reaccionar, pensé que para importar componentes de un archivo diferente y colocarlos correctamente, necesito colocar dos cosas.

  1. línea de importación
  2. línea de colocación

Pregunta 1: ¿Es esta una forma adecuada de importar? o solo necesita 1. línea de importación?

Pregunta 2: Entonces, en vue-electron, ¿cómo vincular los datos entre los componentes padre e hijo?

Lo que supongo es que el constructor de archivos se encarga de eso https://github.com/SimulatedGREG/electron-vue/blob/master/docs/en/renderer-process.md

Electron es solo un tiempo de ejecución para su aplicación web.

Echa un vistazo al modelo de eventos de Vue.js.

https://vuejs.org/v2/guide/events.html https://vuejs.org/v2/guide/components-custom-events.html

Además, consulte la guía de componentes https://ru.vuejs.org/v2/guide/components.html

En tu caso

{amp}lt;el-button{amp}gt;{amp}lt;/el-button{amp}gt; es solo una clase agregada con el propósito de diseñar, no un componente principal.

No es un componente primario, es un componente secundario del componente {amp}lt;BookmarkMenu{amp}gt; . Y puede contener absolutamente cualquier cosa dentro.

Y this.$emit('add-bookmark'); El método activa un detector de eventos (si lo hay) de un componente que tendría {amp}lt;BookmarkMenu{amp}gt; como elemento secundario.

Por ejemplo {amp}lt;BookmarkMenu @add-bookmark="someHandlerInAComponentContainingBookmarkMenu"/{amp}gt;