【发布时间】:2021-11-03 10:08:22
【问题描述】:
编辑:感谢@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 和 data 函数中的数据呈现,我遇到了一个非常奇怪的行为。每当我手动重新加载页面时,什么都没有呈现,告诉我我的 v-for 正在尝试访问未定义的数据。但是,如果我删除 v-for 前面的 : 会导致错误,再次添加它,服务器会自动重新加载,我会看到列表,但是如果我手动重新加载,而不接触代码,则不会呈现任何内容,我得到控制台中的相同错误。请注意,除了列表之外,页面中还有其他元素,但是当控制台中出现错误时,即使这些错误也不会呈现,即使完全不相关并且没有使用组件数据函数中的任何内容。请多多包涵,因为我是 Vue.js 的初学者,并且对一般的编程很陌生。任何帮助将不胜感激。
【问题讨论】:
-
能否提供localStorage.js文件的内容?
-
尝试使用 null 初始化
salvati并稍后在挂载的钩子中设置它。 -
在渲染和确保数据在需要时出现时,您应该使用生命周期挂钩。挂载、更新前等v3.vuejs.org/api/options-lifecycle-hooks.html
-
感谢大家的回复。 @tho-masn localStorage 文件只是函数上的函数,设置如下:
export function functionName(){ //function code here }如果您仍然需要内容,我可以发布文件。 @mokumus 我试过了,但它会抛出一个错误,说没有定义 salvati:data(){ let salvati = null return { codici: salvati } }, mounted(){ salvati = readLocalStorage() }遗漏了一部分,否则我会用完字符。 @DragonInTraining 谢谢,我会试试的。何时调用 data()? -
尝试使用 emty 对象或数组对其进行初始化:{} 或 []。取决于 readLocalStorage 返回的数据类型
标签: javascript vue.js vuejs2 vue-cli vue-cli-4