Vue加载json文件

Vue加载json文件
具体目标:在Vue中修改页面的数据(即修改json内的数据)

1. 获取json中相应的数据

以下这篇文章写得特别完美
链接: https://www.cnblogs.com/xsphehe/p/6938438.html.

2. 更新json中相应的数据

node.js好像可以,但因为某也原因没有使用。
刚开始试了下java的I/O流,后来发现要修改json中的某一个key的数据真的比较麻烦。因为要先把数据从json中读出,然后修改,最后再重新写入数据。
对于Json文件内容较少时还行,但对于我的项目还是麻烦,所以最后选择了直接存取数据库省力。

### 在 Vue加载并显示从网络获取的 JSON 动画文件 为了实现这一目标,可以采用 `vue-lottie` 组件来处理 Lottie 动画。以下是具体方法: #### 安装依赖库 首先需要安装 `vue-lottie` 插件,这可以通过 Yarn 或 NPM 来完成。 对于Yarn而言, ```bash yarn add vue-lottie -S ``` 而对于NPM则是, ```bash npm install --save vue-lottie ``` #### 引入插件至项目 接着,在项目的入口文件(通常是 main.js)中引入此插件,并注册为全局组件以便于后续使用。 ```javascript import lottie from 'vue-lottie'; Vue.component('lottie', lottie); ``` #### 创建带有远程JSON配置的数据属性 在打算展示动画效果的那个特定 Vue 组件边创建一个新的数据对象用于保存将来要传给 `<lottie>` 的选项参数;其中最重要的是设置好 `animationData` 字段为空数组形式等待稍后的异步赋操作[^2]。 ```javascript export default { name: "RemoteLottie", data() { return { defaultOptions: { animationData: [], // 初始状态设为空数组 loop: true, autoplay: true, }, anim: null, // 存储实例化之后的对象方便控制暂停/继续等功能调用 }; } } ``` #### 发起HTTP请求获取远程JSON资源 利用 Axios 或者 Fetch API 向服务器端发起 HTTP 请求从而取得远端存储着动画帧序列信息的 JSON 文档内容。这假设已经成功接收到响应体内的有效载荷部分即为目标 json 数据,则可以直接将其赋给之前准备好的 `defaultOptions.animationData` 属性上以触发视图更新过程[^4]。 ```javascript mounted(){ fetch('https://example.com/path/to/lottie.json') .then(response => response.json()) .then(json => this.defaultOptions.animationData = json) .catch(err => console.error("Failed to load remote JSON:", err)); }, ``` #### 渲染模板结构 最后一步就是在 HTML 模板面声明性地描述出想要呈现出来的 UI 结构——也就是放置一个名为 `<lottie>` 的标签元素进去即可。 ```html <template> <div class="remote-lottie"> <!-- 将 options 和尺寸传递给子组件 --> <lottie :options="defaultOptions" :height="200" :width="200"/> </div> </template> <script> // 上述 JavaScript 代码... </script> <style scoped> .remote-lottie{ /* 自定义样式 */ } </style> ``` 这样就完成了整个流程的设计与编码工作,当页面被访问的时候会先执行一次挂载生命周期钩子函数的那几行用来抓取外部链接指向下的 Json 文件的动作,一旦下载完毕就会立即反映到界面上让用户看到对应的动画效果了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值