下面的简单代码让我很头疼,因为 some-component 和 root 实例都将错误记录到控制台而不是从 vuex 对象绑定。我可能在这里缺少什么?
var state = {
counter: 0
};
var mutations = {};
var store = new Vuex.Store({state, mutations});
var someComponent = Vue.extend({
template: '<div>{{counter}}</div>',
//data: function(){return {counter: 0}},
vuex: {
getters: {
counter: getCounter
}
}
});
new Vue({
el: '#app',
components: {
'some-component': someComponent
},
store: store,
vuex: {
getters: {
counter: getCounter
}
}
});
function getCounter(state) {
return state.counter;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>vue-bug</title>
</head>
<body>
<div id="app">
<span>{{counter}}</span>
<some-component></some-component>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.0.0-rc.1/vue.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/vuex/2.0.0-rc.1/vuex.js"></script>
</body>
</html>
在我的代码中,我调用了 Vue.use(Vuex),但在这个小提琴中我不必(它说 Vuex 已经注册)。另外,请注意,如果您取消注释数据行,组件将正确呈现。
任何帮助是极大的赞赏。