跳转至内容
让每一次思考都有价值

教程与经验

知识汇集地

26 文章 30 评论

子版块


  • Adobe类软件教程与经验分享及提问

    0 0
    0 文章
    0 评论
    没有新文章
  • 操作系统与软件类相关子板块

    5 9
    5 文章
    9 评论
    一级保护废物
    目录方法 1:通过 resolvconf 工具(适用于大多数系统)方法 2:直接编辑 resolv.conf(临时生效)方法 3:使用 netplan(适用于 Ubuntu 18.04 及以上版本) 在 Ubuntu 系统中,你可以通过命令行修改默认 DNS 服务器。具体方法取决于你的 Ubuntu 版本和所使用的网络管理工具。 方法 1:通过 resolvconf 工具(适用于大多数系统) 首先安装 resolvconf(如果未安装): sudo apt update && sudo apt install resolvconf 启动并启用服务: sudo systemctl start resolvconf sudo systemctl enable resolvconf 编辑配置文件: sudo nano /etc/resolvconf/resolv.conf.d/head 添加 DNS 服务器地址: nameserver 8.8.8.8 # Google DNS nameserver 8.8.4.4 # Google DNS 备用 你也可以使用其他 DNS,如 Cloudflare 的 1.1.1.1 或 Quad9 的 9.9.9.9 保存文件并重启服务: sudo systemctl restart resolvconf 方法 2:直接编辑 resolv.conf(临时生效) 如果只是临时修改 DNS,可以直接编辑 /etc/resolv.conf: sudo nano /etc/resolv.conf 添加 DNS 服务器: nameserver 8.8.8.8 nameserver 8.8.4.4 注意:这种方法在系统重启或网络服务重启后可能会失效,因为该文件可能被网络管理工具自动覆盖。 方法 3:使用 netplan(适用于 Ubuntu 18.04 及以上版本) 找到 netplan 配置文件(通常在 /etc/netplan/ 目录下): ls /etc/netplan/ 编辑配置文件(文件名可能不同): sudo nano /etc/netplan/01-network-manager-all.yaml 在配置中添加 DNS 服务器: network: version: 2 renderer: NetworkManager ethernets: eth0: # 替换为你的网卡名称 dhcp4: yes nameservers: addresses: [8.8.8.8, 8.8.4.4] 应用配置: sudo netplan apply 修改完成后,可以通过以下命令验证 DNS 设置: cat /etc/resolv.conf
  • vue3定义组件的几种方式

    1
    0 赞同
    1 评论
    3 浏览
    十二
    目录1. 选项式 API(Options API)2. 组合式 API(Composition API)+ 3. 组合式 API(Composition API)+ 普通 4. 函数式组件5. 单文件组件(SFC)与 JSX 结合总结 在 Vue 3 中,定义组件主要有以下几种方式,每种方式都有其适用场景: 1. 选项式 API(Options API) 这是 Vue 2 中就存在的传统方式,通过配置对象定义组件的各种选项。 // MyComponent.vue export default { // 组件名称 name: 'MyComponent', // 数据 data() { return { message: 'Hello Vue 3' } }, // 计算属性 computed: { reversedMessage() { return this.message.split('').reverse().join('') } }, // 方法 methods: { updateMessage() { this.message = 'Updated!' } }, // 生命周期钩子 mounted() { console.log('Component mounted') }, // 模板 template: ` <div> <p>{{ message }}</p> <p>{{ reversedMessage }}</p> <button @click="updateMessage">Update</button> </div> ` } 适用场景: 迁移 Vue 2 项目到 Vue 3 简单组件或快速原型开发 团队成员更熟悉选项式 API 2. 组合式 API(Composition API)+ <script setup> 这是 Vue 3 推荐的方式,通过 <script setup> 语法糖简化组合式 API 的使用,是目前最常用的组件定义方式。 <!-- MyComponent.vue --> <template> <div> <p>{{ message }}</p> <p>{{ reversedMessage }}</p> <button @click="updateMessage">Update</button> </div> </template> <script setup> import { ref, computed, onMounted } from 'vue' // 响应式数据 const message = ref('Hello Vue 3') // 计算属性 const reversedMessage = computed(() => { return message.value.split('').reverse().join('') }) // 方法 const updateMessage = () => { message.value = 'Updated!' } // 生命周期钩子 onMounted(() => { console.log('Component mounted') }) </script> 特点: 无需显式导出组件 顶层变量和函数自动暴露给模板 更好的类型推断支持 代码组织更灵活,可按逻辑关注点拆分 适用场景: 大多数 Vue 3 新项目 复杂组件(逻辑可拆分重组) 需要更好 TypeScript 支持的项目 3. 组合式 API(Composition API)+ 普通 <script> 不使用 <script setup> 语法糖,显式通过 setup() 函数返回组件选项。 <!-- MyComponent.vue --> <template> <div> <p>{{ message }}</p> <button @click="updateMessage">Update</button> </div> </template> <script> import { ref } from 'vue' export default { name: 'MyComponent', setup() { const message = ref('Hello Vue 3') const updateMessage = () => { message.value = 'Updated!' } // 必须显式返回供模板使用 return { message, updateMessage } } } </script> 适用场景: 需要在 setup() 之外使用其他选项式 API 选项时 需要更精细控制组件导出时 4. 函数式组件 无状态、无生命周期的轻量级组件,通过函数返回虚拟 DOM。 // FunctionalComponent.js import { h } from 'vue' export default function FunctionalComponent(props) { return h('div', `Hello, ${props.name}`) } // 定义 props 类型 FunctionalComponent.props = { name: { type: String, required: true } } 在模板中使用: <template> <FunctionalComponent name="Vue" /> </template> 特点: 没有响应式状态 没有生命周期钩子 性能更好(适合纯展示组件) 适用场景: 纯展示性组件(如图标、标签) 需要高性能渲染大量相似组件时 5. 单文件组件(SFC)与 JSX 结合 Vue 3 对 JSX 有良好支持,可以在单文件组件中使用 JSX 语法。 <!-- MyComponent.vue --> <script setup lang="tsx"> import { ref } from 'vue' const count = ref(0) const increment = () => { count.value++ } // JSX 渲染函数 const render = () => ( <div> <p>Count: {count.value}</p> <button onClick={increment}>Increment</button> </div> ) export default { render } </script> 适用场景: 习惯 React 风格开发的团队 需要复杂条件渲染逻辑的组件 总结 推荐使用:<script setup> + 组合式 API(大多数场景) 兼容性需求:选项式 API(Vue 2 迁移项目) 性能敏感:函数式组件(纯展示场景) 特殊需求:JSX 或普通组合式 API