首页  >  问答  >  正文

无法设置未定义的属性(设置'isRightSidebarExpanded')

我正在尝试转换模板以与 nuxt.js 一起使用

这个属性给了我这个错误

无法设置未定义的属性(设置“isRightSidebarExpanded”)

@click="$store.global.isRightSidebarExpanded = false"

这是 JS 文件:https://lineone.piniastudio.com/js/app.js

我使用 nuxt.config.js 中的这一行将其导入 nuxt.js

script: [
     {src: '/js/app.js', body: false, defer:true}
     ]

然后 nuxt.js 向我显示了这个错误,因为它似乎忽略了客户端 javascript 文件,虽然它在没有 nuxt.js 的情况下完美工作,但在本地仅包含静态 HTML/JS 文件

您可以在这里看到该网站正在正常工作(Laravel)https://lineone.piniastudio.com/

一些 HTML 变量(例如“activeTab”)也未定义

属性或方法“activeTab”未在实例上定义,但在渲染期间引用。通过初始化该属性,确保该属性在数据选项中或对于基于类的组件是反应性的。请参阅:https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Propertie

但是,当我只保留 HTML/JS/CSS 并使其在没有 nuxt.js 的静态模式下工作时,一切都会正常

P粉060528326P粉060528326289 天前489

全部回复(1)我来回复

  • P粉204079743

    P粉2040797432024-01-05 09:02:18

    不建议直接更改商店数据。
    Vuex 使用 Mutations 提交对存储状态的更改。

    1. 添加一个 Mutation 来更改 isRightSidebarExpanded 属性
    mutations: {
        isRightSidebarExpanded(state , payload) {
          // mutate state
          state.isRightSidebarExpanded = payload ;
        }
      }
    1. 现在你可以调用你的 Mutation
    @click="$store.global.commit('isRightSidebarExpanded',false)"

    ------------------------------------------------------------ ----------------------------------
    对于未定义的问题:
    -检查$store.global属性是否存在
    -检查您是否正在使用商店(main.js)

    app.use(store);

    回复
    0
  • 取消回复