vueX原理与双向数据绑定
index.vue 文件
<template>
<div id="app">
<input type="text" v-model="this.$store.state.count" />
<!-- -->
<div>{{ count }}</div>
<!-- 双向绑定 -->
<input type="text" v-model="phoneNumber" />
<div>{{ this.$store.state.phoneNumber }}</div>
</div>
</template>
<script>
export default {
name: "App",
data() {
return {
mutationsdata: 5,
};
},
methods: {
getVal() {
this.$store.commit("increment", this.mutationsdata);
},
},
computed: {
phoneNumber: {
get() {
return this.$store.state.phoneNumber;
},
set(value) {
this.$store.commit("setPhoneNumber", value);
},
},
},
created() {
this.getVal();
},
};
</script>
<style>
.qwe-son {
padding: 5px 15px;
border: 1px solid red;
}
.on {
background: red;
color: #fff;
}
</style>

store/index.js文件
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
count: 5,
// a: '醉不成欢参将别',
// b: "别时茫茫江近月",
phoneNumber: '别时茫茫江近月',
},
getters: {
//修改属性
newCount: state => state.count * 3
},
mutations: {
increment(state, value) {
state.count += value;
},
setInput(state, newVal) {
state.inputVal = newVal
},
setPhoneNumber(state, val) {
state.phoneNumber = val
}
}
})
export default store //导出store
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?