【发布时间】:2018-01-10 18:10:03
【问题描述】:
我是 vue js 的初学者。 我正在尝试处理来自组件的错误并将其显示在其他组件上。
显然正在处理工作,因为我可以在我的商店中看到数据 使用我的组件(error.vue)的道具,它在数据变量中处理它。 但在那之后它无法在我的 vue 上显示它。 为什么?
这是我的代码:
我的店铺是:
var store = new Vuex.Store(
{
state: {
errors:{}
},
mutations: {
setErrors(state, error) {
for(var err in error) {
state.errors[err] = error[err]
}
}
}
})
我的 vue 我把我的错误组件放在哪里:
<template>
<div id="wrapper">
<div class="container">
<error_handling></error_handling>
<router-view></router-view>
</div>
</div>
</template>
<script>
import Error from './components/Error.vue'
import store from './store';
export default {
components: {
'error_handling': Error
},
data() {
return {
erreurs: store.state.errors
}
}
}
</script>
我的错误:
<template>
<div>
<ul>
{{errors_handling}}
<!--<li v-for="error in errors_handling">{{ error }}</li>-->
</ul>
</div>
</template>
<script>
export default {
props: ['errors_hand'],
data() {
return {
errors_handling: this.errors_hand
}
}
}
</script>
【问题讨论】:
-
使用 getter 获取组件中的状态
-
@GhanshyamSingh 有或没有 getter,不提交突变状态将保持不变
-
您应该阅读vuex documentation core concepts,然后在此处查看一些官方示例:github repo。提示:你需要 getter 和 action。
标签: javascript vuejs2 vue-component vuex