{"id":21121714,"url":"https://github.com/jayzangwill/vue-svga","last_synced_at":"2025-06-27T01:32:19.070Z","repository":{"id":43982799,"uuid":"244837139","full_name":"JayZangwill/vue-svga","owner":"JayZangwill","description":"🏆 Svga component for @vuejs","archived":false,"fork":false,"pushed_at":"2022-11-08T05:11:41.000Z","size":589,"stargazers_count":6,"open_issues_count":10,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-19T02:53:47.174Z","etag":null,"topics":["svg","svga","svga-library","svgaplayer","vue","vue-component","vue-components","vue-plugin","vue2","vuejs","vuejs2"],"latest_commit_sha":null,"homepage":null,"language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JayZangwill.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-04T07:39:30.000Z","updated_at":"2024-04-17T03:52:32.000Z","dependencies_parsed_at":"2023-01-22T22:01:21.404Z","dependency_job_id":null,"html_url":"https://github.com/JayZangwill/vue-svga","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JayZangwill/vue-svga","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JayZangwill%2Fvue-svga","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JayZangwill%2Fvue-svga/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JayZangwill%2Fvue-svga/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JayZangwill%2Fvue-svga/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JayZangwill","download_url":"https://codeload.github.com/JayZangwill/vue-svga/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JayZangwill%2Fvue-svga/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262172628,"owners_count":23270063,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["svg","svga","svga-library","svgaplayer","vue","vue-component","vue-components","vue-plugin","vue2","vuejs","vuejs2"],"created_at":"2024-11-20T03:56:10.351Z","updated_at":"2025-06-27T01:32:19.050Z","avatar_url":"https://github.com/JayZangwill.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vue-svga\n\n这是基于[svga.lite](https://github.com/svga/SVGAPlayer-Web-Lite)封装的一个Vue组件\n\n支持其所有[配置](https://github.com/svga/SVGAPlayer-Web-Lite/blob/master/README.zh-CN.md#playerset-%E5%8F%82%E6%95%B0-)，且默认值也保持一致\n\n## 组件接受参数\n\n属性名 |  说明 | 类型 | 默认值 | 必须\n-|-|-|-|-\nsrc | 资源链接(需使用`require`包裹链接) | `string` | undefined | 是\noptions | 包括官网的所有配置，详情见[这里](https://github.com/svga/SVGAPlayer-Web-Lite/blob/master/README.zh-CN.md#playerset-%E5%8F%82%E6%95%B0-) | `object` | {} | 否\noptions.autoPlay | 加载完毕后是否自动播放 | `boolean` | true | 否\n\n## 安装\n\n```sh\nyarn add vue-svga\n\n# 或者\n\nnpm i vue-svga\n```\n\n## 使用\n\n```javascript\nimport { svga } from 'vue-svga'\n\nexport default {\n  components: {\n    svga,\n  }\n}\n\n// 或\nimport Vue from 'vue'\nimport svga from 'vue-svga'\n\nVue.use(svga)\n```\n\n```html\n\u003csvga :src=\"require('test.svga')\" /\u003e\n```\n\n### 使用options参数\n\n```html\n\u003csvga :src=\"require('test.svga')\" :options=\"options\"\u003e\n```\n\n```javascript\nexport default {\n  data() {\n    return {\n      options: {\n        loop = 0,\n        fillMode = 'forwards',\n        playMode = 'forwards',\n        startFrame = 0,\n        endFrame = 0,\n        autoPlay = true\n      }\n    }\n  }\n}\n```\n\n## 提供的方法\n\n属性名 |  说明\n-|-|-\nstart | 播放svga\npause | 暂停svga\nstop | 停止svga\nclear | 清空画布\n\n### 使用示例\n\n```html\n\u003csvga :src=\"require('test.svga')\" ref=\"svga\"\u003e\n```\n\n```javascript\nthis.$refs.svga.start() // 开始播放\nthis.$refs.svga.pause() // 暂停播放\nthis.$refs.svga.stop() // 停止播放\nthis.$refs.svga.clear() // 清空画布\n```\n\n## 事件\n\n与[文档](https://github.com/svga/SVGAPlayer-Web-Lite/blob/master/README.zh-CN.md#%E7%AE%80%E5%8D%95%E4%BD%BF%E7%94%A8)保持一致\n\n除此之外还提供了`parsed`事件，svga文件解析完毕后会立刻触发\n\n### 示例\n\n```html\n\u003csvga :src=\"require('test.svga')\" @start=\"start\"\u003e\n```\n\n## 替换元素\u0026动态元素\n\n你可以像[官方文档](https://github.com/svga/SVGAPlayer-Web-Lite/blob/master/README.zh-CN.md#%E6%9B%BF%E6%8D%A2%E5%85%83%E7%B4%A0)一样使用替换元素\u0026动态元素，**不过需要注意的是你需要在`parsed`事件触发后才能操作`svgaData`，同时autoPlay和autoMount属性都要设置为false：**\n\n```html\n\u003csvga :src=\"require('test.svga')\" @parsed=\"parsed\" ref=\"svga\" /\u003e\n```\n\n```javascript\nexport default {\n  data() {\n    return {\n      options: {\n        autoMount: false,\n        autoPlay: false\n      }\n    }\n  },\n  methods: {\n    async parsed() {\n      const svga = this.$refs.svga\n\n      const image = new Image()\n      image.src = 'https://xxx.com/xxx.png'\n\n      svga.svgaData.images['key'] = image\n\n      await svga.mount()\n\n      svga.start()\n    }\n  }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayzangwill%2Fvue-svga","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjayzangwill%2Fvue-svga","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjayzangwill%2Fvue-svga/lists"}