//管理机器状态 import { fa } from 'element-plus/es/locale' import {defineStore} from 'pinia' export const usePowerStore = defineStore('powerStore', { state: () => ({ powerStatusing:{ type:false, tip:"" }, powerStatus:false, runStatus:false }), getters: {}, actions: { // setPowerStatusingFalse(){ this.powerStatusing.type=false; // this.powerStatusing.tip="正在关机。。。" }, setPowerStatusingTrue(){ this.powerStatusing.type=true // this.powerStatusing.tip="正在开机" }, setPowerStatusFalse(){ this.powerStatus=false }, setPowerStatusTrue(){ this.powerStatus=true }, setRunStatusFalse(){ this.runStatus=false }, setRunStatusTrue(){ this.runStatus=true } }, persist: true }) TypeError: Cannot create property 'type' on boolean 'false'
时间: 2024-02-14 18:28:05 浏览: 126
根据你提供的代码和错误信息,错误是因为你尝试在布尔值`false`上创建属性`type`。布尔值是不可变的,无法添加新的属性。
根据你的代码,`powerStatusing`是一个对象,它包含了一个属性`type`和`tip`。在`setPowerStatusingFalse`和`setPowerStatusingTrue`这两个actions中,你尝试对`this.powerStatusing.type`进行赋值,但由于`powerStatusing`的初始值是布尔值`false`,所以会抛出错误。
要解决这个问题,你需要将`powerStatusing`的初始值更改为一个包含`type`和`tip`属性的对象。下面是修正后的代码:
```javascript
import { defineStore } from 'pinia'
export const usePowerStore = defineStore('powerStore', {
state: () => ({
powerStatusing: {
type: false,
tip: ""
},
powerStatus: false,
runStatus: false
}),
getters: {},
actions: {
setPowerStatusingFalse() {
this.powerStatusing.type = false;
// this.powerStatusing.tip = "正在关机。。。"
},
setPowerStatusingTrue() {
this.powerStatusing.type = true;
// this.powerStatusing.tip = "正在开机"
},
setPowerStatusFalse() {
this.powerStatus = false;
},
setPowerStatusTrue() {
this.powerStatus = true;
},
setRunStatusFalse() {
this.runStatus = false;
},
setRunStatusTrue() {
this.runStatus = true;
}
},
persist: true
})
```
通过将`powerStatusing`的初始值更改为包含`type`和`tip`属性的对象,你就可以在actions中正确地对其进行赋值了。请注意,我注释掉了`tip`属性的赋值,你可以根据需要取消注释并设置其值。
阅读全文