VueJS 执行数据功能太迟(?)

VueJS executing data function too late (?)

编辑:感谢@Mythos 解决了问题,但我非常感谢所有花时间帮助我的人,我为此困了几个小时。非常感谢!

我有一个使用 vue-cli 4 和 Vue 2 创建的 Vue.js 项目。 似乎我用来呈现列表的 v-for 获取数据太晚了。这是我的组件的设置方式:

import { readLocalStorage } from '../../public/localStorage.js'
    export default {
    name: 'lista',
    components: {
        codiceLista
     },
     data(){
        let salvati = readLocalStorage()
        return {
          codici: salvati
        }
     }
}

我有一个组件 (codiceLista),它是使用 v-for 和数据函数中的数据呈现的,我遇到了一个非常奇怪的行为。每当我手动重新加载页面时,没有任何内容呈现,告诉我我的 v-for 正在尝试访问未定义的数据。但是,如果我删除 v-for 前面的 :,这会导致错误,然后再次添加它,服务器会自动重新加载,我会看到列表,但是如果我手动重新加载,而不触及代码,则不会呈现任何内容,我得到控制台中出现相同的错误。请注意,除了列表之外,我在页面中还有其他元素,但是当控制台中出现错误时,即使那些元素不呈现,即使完全不相关并且没有使用组件数据函数中的任何内容。请耐心等待,因为我是 Vue.js 的初学者,一般来说是编程新手。如有任何帮助,我们将不胜感激。

不要在v-for前面加::v-bind 的 shorthand。你不能绑定 v-for.

另外,先初始化所有数据,然后你可以在生命周期钩子中填充它。

data() {
  return {
    codeici: [],
  }
}
mounted() {
  this.codeici = readLocalStorage();
}

Vue Lifecyle Hooks