vue.js - 我可以在 Vue data() 函数中创建新对象吗?
问题描述
我正在new Audio()
Vue 组件的data() { ... }
函数中创建一个对象,但我担心这是否会不必要地创建更多的音频对象。
我似乎无法找到何时或如何调用 data() 函数,但我也找不到任何在数据函数中创建新对象的示例。
在里面创建新对象可以data()
吗?或者我应该把这些初始化留给created()
函数吗?
解决方案
阅读有关 data() 的文档:https ://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function
组件的数据选项必须是一个函数,以便每个实例都可以维护返回的数据对象的独立副本。
这是正确的做法。
您的新对象将像这样被实例化:
data() {
// new object returned
return {
audio: new Audio()
}
}
如果您想拥有一个全局对象以避免多个实例audio
,请考虑将其附加到全局 Vue 实例或根据您的需要使用 Vuex。
推荐阅读
- amazon-web-services - 运行 ECS 任务的 boto3 lambda 调用需要在修订号中进行硬编码?
- python - 连接多个 USB 摄像头
- php - php中无意的for循环
- javascript - 尝试刷新部分然后出错
- python - 我怎样才能获得夹层页面的最新博客文章?
- asp.net-core-mvc - 如何将 ASP.NET MVC Core 中的 SignalR Hub 映射到动态路由?(例如 /controller/action/{id}?
- python - Homebrew 不会开始在 Mojave 10.14.2 上安装
- reactjs - 安装反应组件时第一次没有调用socket.on函数
- php - 计数以“custom_”开头的 $_POST 回复
- php - 如何将多维数组添加到 laravel 数据库