Vue.js 仅含组件的Vuex以一种方式更新 安装程序
我有一个超级简单的测试应用程序,包含两个组件:一个和一个vuex数据存储。您使用的是v-model=pageTitle,其中pageTitle是一个计算属性。默认情况下,计算属性仅为getter,但您试图使用v-model绑定该值 所以你需要的是一个 因此,contentsection组件应该如下所示:Vue.js 仅含组件的Vuex以一种方式更新 安装程序,vue.js,vuex,Vue.js,Vuex,我有一个超级简单的测试应用程序,包含两个组件:一个和一个vuex数据存储。您使用的是v-model=pageTitle,其中pageTitle是一个计算属性。默认情况下,计算属性仅为getter,但您试图使用v-model绑定该值 所以你需要的是一个 因此,contentsection组件应该如下所示: const contentsection = { template: `<div id="content"> Enter a page title: <
const contentsection = {
template: `<div id="content">
Enter a page title: <input type="text" name="pageTitle" v-model="pageTitle">
</div>
`,
computed: {
pageTitle:{
get: function(){
return store.state.pageTitle;
},
set: function(newTitle){
store.commit('pageTitle',newTitle);
}
}
}
};
你不需要一个观察者
以下是工作原理如果更改计算的pageTitle属性以返回此.store.state.pageTitle,会发生什么情况?我刚刚在本地计算机上尝试了此操作,但无法复制。您使用的是哪个版本的vue和vuex?@thanksd可能问题在于对计算属性使用v-model,而计算属性通常是getter。我想他应该用计算机来代替手表,这就是问题所在。事实上,记录在案,这与维克斯无关。当我拿出Vuex时,我的组件也有同样的问题。您的解决方案解决了问题,谢谢!我不知道这样使用get和set。
<div id="vue">
<topsection></topsection>
<contentsection></contentsection>
</div><!-- #vue -->
const contentsection = {
template: `<div id="content">
Enter a page title: <input type="text" name="pageTitle" v-model="pageTitle">
</div>
`,
computed: {
pageTitle:{
get: function(){
return store.state.pageTitle;
},
set: function(newTitle){
store.commit('pageTitle',newTitle);
}
}
}
};