Vue.observable
1.介绍:如果项目不是足够大的话,为避免代码繁琐冗余,最好不要使用它。Vue.observable 是vue2.6版本新增的,可以实现一些简单的跨组件数据状态共享
// 创建store目录,store目录下创建index.jsimport Vue from 'vue'
export const store = Vue.observable({
count: 0,
name: '李四'
})
export const mutations = {
setCount (count) {
store.count = count
},
changeName (name) {
store.name = name
}
}
// 在组件中使用
<template>
<div class="container">
<button @click="setCount(count+1)">count++</button>
</div>
</template>
<script>
import { store, mutations } from '@/store/index'
export default {
computed: {
// 如果store中的数据发生变化重新计算
count () {
return store.count
},
name () {
return store.name
}
},
methods () {
// 将store中的mutations方法赋值拿到
setCount: mutations.setCount
}
}
</script>
// 或者可以绑定到Vue的原型上// store/index.js
import Vue from 'vue'
const store = {
state: Vue.observable({
count: 0,
name: '李四'
}),
mutations: {
setCount (count) {
store.state.count = count
},
changeName (name) {
store.state.name = name
}
}
}
export default store
// 在组件中使用
<script>
export default {
created () {
// 通过this.store来调用
console.log(this.store)
}
}
</script>
以上是 Vue.observable 的全部内容, 来源链接: utcz.com/z/379950.html