Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问clear审计通过

data-loader-vue3vue3 数据加载器

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

261

周安装

11

GitHub Stars

1

下载量

92
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:data-loader-vue3(vue3 数据加载器)
来源仓库:https://github.com/lchrennew/data-loader-vue3
仓库路径:skills/data-loader-vue3
安装命令:
npx skills add https://github.com/lchrennew/data-loader-vue3 --skill data-loader-vue3
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/lchrennew/data-loader-vue3 --skill data-loader-vue3

简介

简化 Vue3 异步数据加载逻辑,自动处理挂载触发与错误展示。

  • 支持 hash 变化监听、数据过滤和 reload 重载机制,提升用户体验。
  • 组件插槽允许自定义渲染内容,便于集成到现有页面布局中。
  • 生产环境建议添加加载超时设置,防止接口长时间无响应阻塞 UI。
  • data-loader-vue3 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

DataLoader Vue3 Component Guide

此技能提供关于 DataLoader.vue 组件的详细使用指南。该组件用于简化 Vue 3 中的异步数据加载场景。

核心功能

  • 自动数据加载:组件挂载或 hash 变化时自动触发 loadData
  • 错误处理:自动捕获异常并显示错误信息。
  • 数据过滤:支持 filter 函数处理数据。
  • 状态管理:管理 loading 和 data 状态。

使用场景

1. 新功能开发 (/use loader)

当用户输入 /use loader 或询问如何使用时,参考此部分。

引入组件

import DataLoader from 'data-loader-vue3';

基本使用

<template>
  <DataLoader
    :hash="queryParams"
    :load-data="fetchData"
    :load-data-args="queryParams"
    :filter="dataFilter"
    #="{ filteredData, reload, data }"
  >
    <div v-if="!filteredData">Loading...</div>
    <div v-else>
      <!-- 使用数据 -->
      <div v-for="item in filteredData" :key="item.id">
          {{ item.name }}
      </div>
      <button @click="reload(false)">重新加载</button>
    </div>
  </DataLoader>
</template>

<script setup>
import { ref } from 'vue';
import DataLoader from 'data-loader-vue3';

const queryParams = ref({ page: 1 });

const fetchData = async (args) => {
  // 模拟 API 调用
  return await api.getData(args);
};

const dataFilter = (data) => {
  // 可选:过滤数据
  return data.list;
};
</script>

2. 代码重构 (/migrate loader)

当用户输入 /migrate loader 或询问如何优化旧代码时,参考此部分。当遇到使用 watchonMounted 或手动管理 loading 状态的传统代码时,应推荐重构为 DataLoader

重构前 (Traditional)

<script setup>
import { ref, watch, onMounted } from 'vue';

const data = ref([]);
const loading = ref(false);
const error = ref(null);
const params = ref({ id: 1 });

const fetchData = async () => {
  loading.value = true;
  error.value = null;
  try {
    data.value = await api.get(params.value);
  } catch (e) {
    error.value = e;
  } finally {
    loading.value = false;
  }
};

onMounted(fetchData);

watch(params, fetchData, { deep: true });
</script>

<template>
  <div v-if="loading">Loading...</div>
  <div v-else-if="error">{{ error.message }}</div>
  <ul v-else>
    <li v-for="item in data" :key="item.id">{{ item.name }}</li>
  </ul>
</template>

重构后 (With DataLoader)

  • 移除loadingerror 状态变量,onMountedwatch
  • 保留:数据获取逻辑 (fetchData) 和参数 (params)。
  • 新增DataLoader 组件包裹。
<script setup>
import { ref } from 'vue';
import DataLoader from 'data-loader-vue3';

const params = ref({ id: 1 });

// 仅需关注数据获取,无需管理 loading/error
const fetchData = async (args) => await api.get(args);
</script>

<template>
  <!-- hash 变化自动触发重新加载 -->
  <DataLoader :hash="params" :load-data="fetchData" :load-data-args="params" #="{ data }">
    <ul>
      <li v-for="item in data" :key="item.id">{{ item.name }}</li>
    </ul>
  </DataLoader>
</template>

重构收益

  1. 代码量减少:移除了手动状态管理和生命周期钩子。
  2. 逻辑解耦:UI 状态(加载中/错误)由组件统一处理,业务逻辑只关注数据获取。
  3. 竞态处理DataLoader 内部通过 hash 校验自动处理了请求竞态问题。

API 参考

Props

属性名类型必填默认值说明
hashAny-数据版本标识,变化时触发重载
loadDataFunction-异步加载函数,需返回 Promise
loadDataArgsAnyundefined传给 loadData 的参数
filterFunctionundefined数据过滤器函数
reloaderNameString'reload'注入(Provide)给子组件的重载函数名称

Events

  • loaded(data, hash, filteredData): 数据加载成功时触发

Dependency Injection

组件通过 provide 向下提供重载函数,子组件可以通过 inject(reloaderName) 获取。

  • Default Key: 'reload'
  • Value: (loaded: any) => void (同 slot 中的 reload 函数)

Slots (Default)

默认插槽提供以下属性(Scoped Props):

  • data: 原始数据
  • filtered-data: 经过 filter 处理后的数据(如果没有 filter 则等于 data)
  • loaded: 当前数据是否匹配 hash (Boolean)
  • reload($loaded: any): 重新加载/设置状态函数。调用 reload(false) 可强制刷新。

注意事项

  1. 错误处理: loadData 中的任何抛出异常都会被捕获并显示为错误提示。
  2. 响应式: 修改 hash 属性会自动触发重新加载,无需手动调用 reload

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

trae

29.38%
按下载量换算27

qoder

21.89%
按下载量换算20

weavefox

19.5%
按下载量换算18

kiro-cli

14.49%
按下载量换算13

Antigravity

7.24%
按下载量换算7

Gemini CLI

3.65%
按下载量换算3

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills