值和地址的区别
- store对象里面有值和API
- 当外部进行赋值时:
count = store.count
:将值复制给count
recordList = store.recordList
:将地址复制给recordList - 问题:
1.当store里面的count发生变化时,外部的count并没有任何改变
2.当store里面的recordList发生变化时,外部recordList发生变化 - 解决:
1.不要用data来获取count,因为它只获取一遍,要用computed
——computed:当内部数值发生变化时就计算然后赋值给外部的数据
2.要告诉Vue监听store的变化——赋值就可以监听
——因为store是一个独立对象,必须要监听 - 注意:API可以放到外面,但是懒得区分就都可以放到computed里面
@Component({
components: {FormItem, Tags, Types, NumberPad},
computed:{
count(){
return store.count
},
recordList(){
return store.recordList
}
}
})
<script lang="js">
import store from '@/store/index2'
export default {
data(){
return {
store:store;
}
}
}
- 小tip
还可以把store挂到原型上,这样就可以用this.$store
来使用store
但要注意在custom.d.ts里面声明