我在使用Vue路由器将数据从一个组件传递到另一个组件时遇到问题。
我在主组件中有此模板:
<li><router-link to="/">Daily</router-link></li>
<li><router-link to="/weekly/">Weekly</router-link></li>
<router-view></router-view>
在我的DailyComponent
组件中,我有以下数据功能:
data() {
return {
userCount: 0,
}
}
第二个链接将发送到名为AcclyComponent
的组件。
如何将userCount:0
数据从DailyComponent
传递到WeeklyComponent
,然后显示在那里?
谢谢
您可以使用Vuex或全局事件总线之类的工具。您还可以为这两个组件创建一个公共父组件。
如果您使用事件总线,您可以使用这些值发出事件,并在应用程序中的任何位置收听这些事件。如果您有一个公共父组件,则可以将userCount
作为道具传递给两个子组件,然后将事件从子组件发送到父组件。每当一个子级想要更改值时,它都会发出事件,然后父级代表它更改值。
这个问题更多的是关于如何以这种方式构建组件,以便在组件之间共享数据。有很多方法可以做到这一点,根据具体情况,每种方法都有各自的优缺点。我建议您搜索stackoverflow/google,寻找实现这一点的方法,因为已经对其进行了深入讨论。
将userCount
数据的所有者提升到父级
使父组件成为userCount
数据的所有者,并通过props将其传递给子组件。如果子组件想要修改该数据,它们必须$emit
一个带有父组件响应的新值的事件,以便更新该值。
const Daily = {
props: ['userCount'],
template: '<p>Daily: {{ userCount }} <button @click="increment">+ 1</button></p>',
methods: {
increment() {
this.$emit('user-count', this.userCount + 1);
}
}
};
const Weekly = {
props: ['userCount'],
template: '<p>Weekly: {{ userCount }} <button @click="increment">+ 5</button></p>',
methods: {
increment() {
this.$emit('user-count', this.userCount + 5);
}
}
};
new Vue({
el: '#app',
router: new VueRouter({
routes: [
{ path: '/daily', component: Daily },
{ path: '/weekly', component: Weekly }
]
}),
data: {
userCount: 0,
},
})
<script src="https://rawgit.com/vuejs/vue/dev/dist/vue.js"></script>
<script src="https://rawgit.com/vuejs/vue-router/dev/dist/vue-router.js"></script>
<div id="app">
<router-link to="/daily">Daily</router-link>
<router-link to="/weekly">Weekly</router-link>
<router-view :user-count="userCount" @user-count="userCount = $event"></router-view>
</div>
在我的Angular 2路由的一个模板(FirstComponent)中,我有一个按钮 first.component.html 我的目标是实现: 按钮点击->route to另一个组件,同时保留数据,而不使用另一个组件作为指令。 这是我试过的... 第一种方法 在同一个视图中,我存储、收集基于用户交互的相同数据。 First.Component.TS 通常通过ID路由到SecondCompone
例如,在具有分页列表的路由上,网址可能如下所示,表示我们已加载第二个网页: 使用指令和来传递查询参数。例如: 或者,我们可以使用服务通过JS跳转: 读取查询参数 See Official Documentation on Query Parameters
在几个儿童显示器中的一个中: 似乎我不能直接将数据注入。看起来我在web控制台中遇到了错误: 这有点道理,但是我该怎么做: 从服务器从父组件中获取“节点”数据? 是否将从服务器检索到的数据传递到子路由器插座? 的工作方式似乎不同。
我是vue的初学者。我最近开始学习vue。我在vue组件中添加了一个道具。我认为代码似乎是正确的。但发生了一个错误。有人告诉我如何将字符串或数字传递给childComponent,以及如何检查它吗。 应用程序。vue 样品刀身php
我有一些这样的路线 在NewUrlComponent中,我可以像这样轻松地获取数据 我遇到的问题是我在屏幕上有另一个组件,不知何故,我需要在另一个组件中显示该数据标题。我不知道这有可能吗?
问题内容: 我尝试了以下失败的尝试: 在函数a中,我可以使用arguments关键字来访问参数数组,而在函数b中,这些参数将丢失。有没有办法像我尝试的那样将参数传递给另一个javascript函数? 问题答案: 用于对in函数具有相同的访问权,如下所示: