当前位置: 首页 > news >正文

硬通货用Deekseek做一个Vue.js组件开发的教程

 

安装 Node.js 与 Vue CLI

npm install -g @vue/cli  
vue create my-vue-project  
cd my-vue-project  
npm run serve  

通过 Vue CLI 可快速生成项目骨架,默认配置适合新手快速上手

目录结构

src/  
├── components/    # 存放组件文件  
│   └── HelloWorld.vue  
├── App.vue        # 根组件  
└── main.js        # 入口文件  

推荐按功能模块划分组件目录,提升可维护性

组件创建与注册

单文件组件(SFC)基础结构

<template>
  <div class="my-component">
    <h1>{{ title }}</h1>
    <button @click="handleClick">操作</button>
  </div>
</template>

<script>
export default {
  name: 'MyComponent',
  data() {
    return { title: '组件标题' };
  },
  methods: {
    handleClick() { console.log('事件触发'); }
  }
};
</script>

<style scoped>
.my-component { color: #333; }
</style>

<template>定义结构,<script>处理逻辑,<style scoped>限定样式作用域

全局注册与局部注册

  • 全局注册(适用于高频使用组件)‌;  

// main.js  
import MyComponent from '@/components/MyComponent.vue';
Vue.component('MyComponent', MyComponent);  

局部注册(适用于按需加载)

<script>
import MyComponent from '@/components/MyComponent.vue';
export default {
  components: { MyComponent }
};
</script>

全局注册后可在任意模板中调用,局部注册需在父组件中显式引入

组件通信

Props 数据传递(父→子)

<!-- 父组件 -->  
<ChildComponent :message="parentData" />  

<!-- 子组件 -->  
<script>
export default {
  props: {
    message: { type: String, required: true }
  }
};
</script>

自定义事件(子→父)

<!-- 子组件触发事件 -->  
<button @click="$emit('update-data', newData)">提交</button>  

<!-- 父组件监听事件 -->  
<ChildComponent @update-data="handleUpdate" />

进阶功能

插槽(Slot)实现内容分发

<!-- 父组件 -->  
<Modal>  
  <template v-slot:header>自定义标题</template>  
  <p>默认插槽内容</p>  
</Modal>  

<!-- 子组件 Modal.vue -->  
<div class="modal">  
  <slot name="header"></slot>  
  <slot></slot>  
</div>

生命周期钩子

export default {
  created() { console.log('组件实例已创建,数据未渲染'); },  
  mounted() { console.log('DOM 已挂载,可操作 DOM'); },  
  beforeDestroy() { console.log('组件销毁前清理资源'); }  
};

*常用钩子包括 createdmountedupdatedbeforeDestroy

最佳实践
  1. 组件设计原则

    • 单一职责‌:每个组件仅处理单一功能‌。
    • 可复用性‌:通过 propsevents 解耦逻辑‌。
    • 模块化‌:拆分大型组件为多个子组件‌。
  2. 样式隔离与复用

    • 使用 <style scoped> 避免样式污染‌。
    • 通过 @mixin 或 CSS 变量实现样式复用‌。

 提示:调试时可结合 Vue Devtools 查看组件层级与数据流‌

我用夸克网盘分享了「无需网络快速部署deepseek」。
链接:https://pan.quark.cn/s/1cc8de40d71b

http://www.lryc.cn/news/547457.html

相关文章:

  • Windows权限维持之利用安全描述符隐藏服务后门进行权限维持(八)
  • Ubuntu20.04双系统安装及软件安装(七):Anaconda3
  • 【极光 Orbit•STC8A-8H】02. STC8 单片机工程模板创建
  • Spring Boot WebFlux 中 WebSocket 生命周期解析
  • PostgreSQL中的事务隔离
  • 基于Rye的Django项目通过Pyinstaller用Github工作流简单打包
  • ubuntu 20.04 C++ 源码编译 cuda版本 opencv4.5.0
  • 【VUE】第一期——初使用、基本语法
  • 计算光学成像与光学计算概论
  • 开启科创服务新篇章:八月瓜科技CRM数字化管理系统成功上线
  • AI提示词(Prompt)的理解和学习指南
  • 记录一些面试遇到的问题
  • OpenHarmony4.0_Linux环境搭建
  • DeepSeek开源Day5:3FSsmallpond技术详解
  • Java集合面试篇
  • plt和cv2有不同的图像表示方式和颜色通道顺序
  • Sqlserver安全篇之_手工创建TLS用到的pfx证书文件
  • 基于RapidOCR与DeepSeek的智能表格转换技术实践
  • 创建阿里云CDN
  • tomcat的web管理
  • 【Linux系统】-----进程初相识:原理与概念全解析
  • 分布式系统设计(架构能力)
  • 171. Excel 表列序号
  • 在 Java 中使用 Apache POI 为 Word 文档添加水印
  • 贪心算法二
  • 【大模型安全】大模型的技术风险
  • Java 线程池中 shutdown 与 shutdownNow 的区别是什么?
  • 基于Spring Boot的共享学习经验系统的设计与实现
  • 【简单的C++围棋游戏开发示例】
  • 单片机中的基础外设GPIO的知识和应用—(6)