<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CoderPai的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CoderPai</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CoderPai]]></copyright><item><title><![CDATA[Python属性控制：用@property打造智能Setter和Getter]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/146969568</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/146969568</guid><author>CoderPai</author><pubDate>Thu, 03 Apr 2025 07:45:06 +0800</pubDate><description><![CDATA[【代码】Python属性控制：用@property打造智能Setter和Getter。]]></description><category></category></item><item><title><![CDATA[（六）SvelteKit教程：刷新数据，preload data，环境变量和部署]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/140072435</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/140072435</guid><author>CoderPai</author><pubDate>Sat, 29 Jun 2024 23:21:20 +0800</pubDate><description><![CDATA[（六）SvelteKit教程：刷新数据，preload data，环境变量和部署。通过 https://vercel.com/ 非常容易。重点是里面的 refresh 函数。]]></description><category></category></item><item><title><![CDATA[（五）SvelteKit教程：错误页和重定向]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/140069577</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/140069577</guid><author>CoderPai</author><pubDate>Sat, 29 Jun 2024 19:57:33 +0800</pubDate><description><![CDATA[重定义非常容易，在代码中，当 aboutID == 22 的时候，我们就直接重定义到根目录下面。404 也非常容易，当aboutID > 2 时候，我们直接是定义到错误页 error。（五）SvelteKit教程：错误页和重定向。]]></description><category></category></item><item><title><![CDATA[（四）SvelteKit教程：调用外部 API 获取数据]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/140068871</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/140068871</guid><author>CoderPai</author><pubDate>Sat, 29 Jun 2024 19:01:11 +0800</pubDate><description><![CDATA[（四）SvelteKit教程：调用 API至此，你可以通过 http://localhost:4000/users 来访问刚才创建的用户数据。接下来，我们在 SvelteKit 项目中调用这个 API。至此，我们就可以在 /about 页面中使用 users 数据了。我们在 /about/+page.svelte 文件中使用如下代码：exportlet;const;</</</</这样，我们就完成了调用 API 的功能。]]></description><category></category></item><item><title><![CDATA[（三）SvelteKit教程：layout 文件]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139889424</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139889424</guid><author>CoderPai</author><pubDate>Sat, 22 Jun 2024 22:39:31 +0800</pubDate><description><![CDATA[假设如果你不想在second/a 中用 second/layout.svelte 的布局文件，那么我们就可以在 a/page.svelte 中添加 @about 符号，定位到 about/layout.svelte 布局文件。如果你想直接定位到根目录下，那么你就可以直接用 @ 文件，而不需要添加任何别的后缀。如果你想在特定的子文件里面进行添加，比如 /about 路由，那么我们可以添加在 /about/layout.svelte ，那么这个 layout 文件只作用在 /about 路由下面。]]></description><category></category></item><item><title><![CDATA[（二）SvelteKit教程：pages 和routes]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139888494</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139888494</guid><author>CoderPai</author><pubDate>Sat, 22 Jun 2024 21:34:41 +0800</pubDate><description><![CDATA[这段 SvelteKit 代码用于创建一个动态的联系页面。页面会根据路由参数slug动态显示相关内容，并将slug参数按分隔成数组，最后提供返回主页的链接。JavaScript 部分<script>标签内）：导入了goto函数，该函数来自于 Svelte 应用的导航模块。这个函数用于在单页面应用中进行页面导航。定义了一个名为的函数，该函数在按钮被点击时被调用。函数输出一条日志到控制台，并调用goto函数来导航到/about页面。HTML 部分在<div>]]></description><category></category></item><item><title><![CDATA[（一）SvelteKit教程：hello world]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139799614</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139799614</guid><author>CoderPai</author><pubDate>Wed, 19 Jun 2024 12:40:41 +0800</pubDate><description><![CDATA[变量和函数定义：定义一个可变的字符串变量name，初始值为。：定义一个箭头函数，函数体内将name变量的值设置为。HTML 结构和绑定：定义一个div容器，类名为page。：显示一个标题，标题中插入name变量的当前值。：显示一段文本，包含一个超链接，指向 SvelteKit 的文档。：显示一个按钮，点击时调用函数，将name的值更改为。：显示一个输入框，输入框的值绑定到name变量，用户在输入框中输入的值将实时更新name变量。样式。]]></description><category></category></item><item><title><![CDATA[（12）svelte 教程：Dispatching Custom Events]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139426920</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139426920</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 23:28:29 +0800</pubDate><description><![CDATA[通过以上代码示例，可以看到在 Svelte 中如何创建和触发自定义事件，从而实现组件之间的通信和数据传递。在中，我们创建了一个事件调度器dispatch，并在表单提交时触发名为addPerson的自定义事件，将新添加的人物数据传递给父组件App.svelte。在App.svelte中，我们通过监听addPerson事件来处理新人物的添加操作，并动态更新people数组，从而实现页面的动态渲染和更新。]]></description><category></category></item><item><title><![CDATA[（11）svelte 教程：Forms]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139426669</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139426669</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 23:07:06 +0800</pubDate><description><![CDATA[在 Svelte 框架中，Forms 是一种用于处理用户输入数据的机制。通过 Forms，你可以创建各种输入控件，如文本框、复选框、选择框等，以便用户填写并提交数据。Svelte 提供了数据绑定、事件处理等功能，使得处理表单数据变得更加简便和直观。]]></description><category></category></item><item><title><![CDATA[（10）svelte 教程：Slots]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139426264</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139426264</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 22:40:42 +0800</pubDate><description><![CDATA[Slots 是 Svelte 框架中的一种特性，用于在组件中定义插槽，以便父组件可以向子组件传递任意的内容。这种机制使得组件更具灵活性和可复用性，因为你可以在组件内部插入动态的、定制的内容。Slots 主要有两种类型：默认插槽和命名插槽。]]></description><category></category></item><item><title><![CDATA[（9）svelte 教程： Event Modifiers]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139426076</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139426076</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 22:30:02 +0800</pubDate><description><![CDATA[Event Modifiers 是 Svelte 框架中的一种特性，它允许你在绑定事件处理函数时，添加一些修饰符来修改事件的默认行为或事件流。通过这些修饰符，可以更简洁、更直观地控制事件的行为，而无需在事件处理函数中编写额外的代码。]]></description><category></category></item><item><title><![CDATA[（8）svelte 教程： Event Forwarding]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139423770</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139423770</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 20:19:48 +0800</pubDate><description><![CDATA[Event Forwarding 在 Svelte 框架中是一种机制，它允许你将一个组件上的事件侦听器传递到另一个组件上。这在你想要在一个组件中处理另一个组件发出的事件时非常有用。现在，让我们逐行解释一下你提供的代码：这行代码导入了名为Modal的组件，它位于同一目录下的文件中。这行代码声明了一个名为showModal的变量，并将其初始值设置为false。这个变量将用于控制模态框的显示和隐藏。这行代码声明了一个名为的函数，它用于切换showModal变量的值。每当调用这个函数时，showModal。]]></description><category></category></item><item><title><![CDATA[（7）svelte 教程： Props(属性)]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139408614</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139408614</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 10:42:55 +0800</pubDate><description><![CDATA[通过使用 props，父组件App.svelte可以向子组件传递数据。子组件通过export let声明接收这些数据，并根据传递的数据动态更新其显示内容。这个机制使得组件之间的数据传递和状态管理变得更加简便和高效。]]></description><category></category></item><item><title><![CDATA[（6）svelte 教程： Conditionals（判断）和# Components（组件）]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139404861</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139404861</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 09:58:12 +0800</pubDate><description><![CDATA[通过使用 Svelte 的条件语句，可以根据变量num的值动态显示不同的内容。这种机制使得在应用程序中处理不同的状态和情况变得非常简便和直观。Components（组件）是用户界面中的独立、可重用的部分，它们可以组合在一起构建复杂的应用程序。每个组件封装了自己的逻辑、模板和样式，便于管理和复用。在 Svelte 中，组件是通过.svelte文件定义的，这些文件包含了组件的逻辑（JavaScript）、模板（HTML）和样式（CSS）。这个示例展示了如何在 Svelte 中创建和使用组件。通过import。]]></description><category></category></item><item><title><![CDATA[（5）svelte 教程：Inline Event Handlers（内联事件处理程序）]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139403004</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139403004</guid><author>CoderPai</author><pubDate>Mon, 03 Jun 2024 09:28:28 +0800</pubDate><description><![CDATA[这个 Svelte 组件定义了一个people数组，并使用each块遍历该数组中的每个对象。在每次循环中，它会创建一个包含该对象信息的<div>元素，并为每个<button>按钮绑定点击事件。点击按钮时，会调用函数，删除相应的person对象，并更新people数组。如果people数组为空，显示一条提示信息。通过这种方式，组件能够动态生成和显示列表内容，并处理用户交互事件。使用箭头函数绑定：适用于需要动态传递参数和访问事件对象的情况。在点击时调用处理函数，并传递事件对象和所需参数。直接绑定函数调用。]]></description><category></category></item><item><title><![CDATA[（4）svelte 教程：Loops（循环）]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139385576</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139385576</guid><author>CoderPai</author><pubDate>Sun, 02 Jun 2024 09:45:06 +0800</pubDate><description><![CDATA[这个 Svelte 组件定义了一个people数组，并使用each块遍历该数组中的每个对象。在每次循环中，它会创建一个包含该对象信息的<div>元素。如果people数组为空或未定义，则显示一条消息，提示没有人可以显示。通过这种方式，组件能够动态生成和显示列表内容，展示了 Svelte 中循环和条件渲染的基本用法。]]></description><category></category></item><item><title><![CDATA[（3）svelte 教程：响应式]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139383994</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139383994</guid><author>CoderPai</author><pubDate>Sun, 02 Jun 2024 09:24:15 +0800</pubDate><description><![CDATA[响应式值是指在 Svelte 中，当变量的值发生变化时，Svelte 会自动检测到变化并更新所有依赖于该变量的部分。这使得开发者可以轻松地管理状态，并让UI自动反映这些状态的变化。响应式语句是一种特殊的语法，通过前缀标识。当任何响应式语句中依赖的变量发生变化时，该语句会重新执行。这可以用来自动更新某些计算值或执行一些副作用（如日志记录）。]]></description><category></category></item><item><title><![CDATA[（2）svelte 教程：点击操作，输入框和数据绑定]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139383740</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139383740</guid><author>CoderPai</author><pubDate>Sun, 02 Jun 2024 09:01:16 +0800</pubDate><description><![CDATA[总的来说，这段代码实现了一个简单的 Svelte 组件，它包含一个标题，一个显示腰带颜色的段落，以及一个文本输入框。完整的代码结合了脚本部分和模板部分，实现了一个可以响应用户交互（点击按钮）并动态更新界面内容（腰带颜色）的 Svelte 组件。这段代码是 Svelte 组件的模板部分，用于定义组件的 HTML 结构和绑定的动态内容。这段代码是 Svelte 组件中的脚本部分，用于定义组件的逻辑和状态。变量的值为输入框中的当前文本内容，从而动态更新页面上显示的腰带颜色。综上所述，当用户在输入框中输入文本时，]]></description><category></category></item><item><title><![CDATA[（1）svelte 教程：hello world]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/139381290</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/139381290</guid><author>CoderPai</author><pubDate>Sat, 01 Jun 2024 23:10:06 +0800</pubDate><description><![CDATA[这意味着其他模块可以导入这个默认导出的。是一个使用 Svelte 框架编写的组件文件。这行代码的作用是从当前目录下的。组件的一个实例，并将其挂载到。实例，并在需要的地方使用它。这行代码的作用是将创建的。文件中导入默认导出的。（即 HTML 文档的。（1）安装 degit。这段代码的作用是创建。]]></description><category></category></item><item><title><![CDATA[C++中模板 template ＜typename T＞ 的解释]]></title><link>https://blog.youkuaiyun.com/CoderPai/article/details/123632587</link><guid>https://blog.youkuaiyun.com/CoderPai/article/details/123632587</guid><author>CoderPai</author><pubDate>Mon, 21 Mar 2022 12:44:50 +0800</pubDate><description><![CDATA[最近在看公司项目的源码，遇到了不少问题，一点一点进行补充。
首先就是遇到template 。
网上解释的非常多，觉得比较啰嗦，其实就是一个类型模板。
比如我们要计算两个数的加法，针对不同类型可能需要设计不同类型的函数，那么template 就可以很好的解决这个问题。
原始解决方法：
int sum(int a,int b);
double sum(double a,double b);
float sum(float a,float b);

但是当用template 后为：
template &lt;ty]]></description><category></category></item></channel></rss>