首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同级组件通信vuejs 2

同级组件通信vuejs 2
EN

Stack Overflow用户
提问于 2018-04-06 03:54:50
回答 1查看 188关注 0票数 0

我有一个Vue组件,它表示如下(ParentComponent.vue)所示的页面:

代码语言:javascript
复制
<template>
    <div id="main-wrapper" class="appTravelytics">
      <top-bar v-if="$route.path !== '/login'"></top-bar>
      <div class="page-wrapper" v-if="$route.path !== '/login'">
        <div class="container-fluid">
          <breadcrumb ></breadcrumb>
          <template>
            <router-view :loggedIn="loggedIn"></router-view>
          </template>
        </div>
        <footer-bar></footer-bar>
      </div>
      <template v-else>
        <router-view :loggedIn="loggedIn"></router-view>
      </template>
    </div>
</template>

BreadCrumb.vue:

代码语言:javascript
复制
<template>
<h3 class="text-themecolor m-b-0 m-t-0">{{ title }}</h3>
</template>
<script>
    export default {
        data () {
          return {
            title: 'Welcome'
          }
        },
        created: function () {
          this.$root.$on('page_title', function (data) {
            console.log(data)
            this.title = data
            this.$nextTick()
          })
        }
      }
</script>

Content.vue (脚本部分):

代码语言:javascript
复制
export default {
      created: function () {
        this.$root.$emit('page_title', 'Page Title')
      }
    }

由路由器定义的组件(在本例中标记为Content.vue)将放置在ParentComponent的路由器视图中,该组件需要与“面包屑”组件通信,以更新页面和面包屑的标题。

我试过一辆全球赛事巴士,我试过道具传球。在接收到发射信号时,您会注意到console.log。它很好地更新,使用VueJS调试器在chrome中,变量被填充。但我无法让它更新DOM/演示文稿。我搜索了所有的地方,得到了道具传递和全球巴士的推荐,但是缺少一些东西。

(请帮助:)

提前感谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-06 12:12:48

Vuex将更好地用于状态管理,这样您就可以从所有组件访问和更新必要的状态。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49685038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档