Vuejs 从 router-view 到外部组件
Vuejs from router-view to outside component
我正在尝试将数据从 <router-view>
传递到外部组件。我找到了 an example of passing from child to parent,但我不确定 <router-view>
是否被认为是 child。是否可以使用此方法将数据从 <router-view>
内部传递到外部组件?
我有一个 ChildView
,我已发出一个事件以将值传递给 TopNavSection
。
这是我的结构:
我在ChildView
发送了事件:
mounted() {
this.$emit('update-back-link', "value");
},
但是 MainContainer.vue 中的这段代码没有处理我的事件。
<top-nav-section @update-back-link="handleBackLinkUpdate"></top-nav-section>
methods: {
handleBackLinkUpdate: function (value) {
debugger;
console.log(value);
},
},
请告诉我我是否在正确的轨道上,因为我不知道为什么没有触发处理程序。谢谢。
ChildView
组件正在发出 update-back-link
事件,而不是 TopNavSection
组件。但是,您在 <top-nav-section>
标记上有事件处理程序。 TopNavSection
永远不会发出 update-back-link
事件,因此它的处理程序永远不会被触发。
您应该将事件处理程序移动到 ChildView
组件的标记(由于您使用 ChildView
作为路由组件,因此将是 <router-view>
):
<router-view @update-back-link="handleBackLinkUpdate"></router-view>
我正在尝试将数据从 <router-view>
传递到外部组件。我找到了 an example of passing from child to parent,但我不确定 <router-view>
是否被认为是 child。是否可以使用此方法将数据从 <router-view>
内部传递到外部组件?
我有一个 ChildView
,我已发出一个事件以将值传递给 TopNavSection
。
这是我的结构:
我在ChildView
发送了事件:
mounted() {
this.$emit('update-back-link', "value");
},
但是 MainContainer.vue 中的这段代码没有处理我的事件。
<top-nav-section @update-back-link="handleBackLinkUpdate"></top-nav-section>
methods: {
handleBackLinkUpdate: function (value) {
debugger;
console.log(value);
},
},
请告诉我我是否在正确的轨道上,因为我不知道为什么没有触发处理程序。谢谢。
ChildView
组件正在发出 update-back-link
事件,而不是 TopNavSection
组件。但是,您在 <top-nav-section>
标记上有事件处理程序。 TopNavSection
永远不会发出 update-back-link
事件,因此它的处理程序永远不会被触发。
您应该将事件处理程序移动到 ChildView
组件的标记(由于您使用 ChildView
作为路由组件,因此将是 <router-view>
):
<router-view @update-back-link="handleBackLinkUpdate"></router-view>