C# Blazor 学习笔记(7):组件嵌套开发

news/2025/1/14 22:28:48/

文章目录

  • 前言
  • 相关资料
  • 组件嵌套
    • 组件模板RenderFragment
  • 意义
    • 传统前端样式
    • 组件化css

前言

我们在组件化一共有三个目的。

  • 不用写CSS
  • 不用写html
  • 不用写交互逻辑

简单来说就是Java常说的约定大于配置。我们只需要必须的参数即可,其它的都按照默认配置。我们不需要关系页面元素是如何调度的,我们只需要关系业务代码部分。做到组件一次声明,多次复用的效果。

相关资料

《进击吧!Blazor!》第一章 5.组件开发

组件嵌套

组件模板RenderFragment

RenderFragment相当于Vue的插槽,如何使用可以看微软的技术文档。

Blazor 组件模块化开发
RenderFragment预留了一个特殊的字段,专门用于组件嵌套。即

public RenderFragment ChildContent { get; set; }

这个字段是可以省略的字段。

我们自己声明一个B_Col的字段

<div class="B_Col">@ChildContent
</div>@code {[Parameter] public RenderFragment ChildContent { get; set; }
}
    <B_Col><div>我是测试文本1</div></B_Col>上下两个都是一样的<B_Col><ChildContent><div>我是测试文本1</div></ChildContent></B_Col>

如果声明了其它内容模板,也不影响代码的省略

<div class="B_Col">@ChildContent
</div>@code {[Parameter] public RenderFragment ChildContent { get; set; }[Parameter] public RenderFragment TestContent { get; set; }
}

Tips:注意,代码中要把嵌套模板@childContent的内容放进去

在这里插入图片描述

意义

传统前端样式

在这里插入图片描述
传统前端样式是通过相同的div,但是不同的class来进行css的绑定,class的命名管理和可阅读性并不强。

组件化css

我们可以自定义组件,专门用于生成对应的UI布局。通过组件的参数传入来间接管理CSS样式。大大提高了代码的可读性。


http://www.ppmy.cn/news/1001940.html

相关文章

RL — 强化学习算法概述

一、说明 在本系列中&#xff0c;我们检查了许多强化学习&#xff08;RL&#xff09;算法&#xff0c;例如&#xff0c;MoJoCo任务的策略梯度方法&#xff0c;Atari游戏的DQN和机器人控制的基于模型的RL。虽然许多算法都是针对特定领域引入的&#xff0c;但这种联系只能是遗留的…

Windows用户如何将cpolar内网穿透配置成后台服务,并开机自启动?

Windows用户如何将cpolar内网穿透配置成后台服务&#xff0c;并开机自启动&#xff1f; 文章目录 Windows用户如何将cpolar内网穿透配置成后台服务&#xff0c;并开机自启动&#xff1f;前置准备&#xff1a;VS Code下载后&#xff0c;默认安装即可VS CODE切换成中文语言 1. 将…

kprobe 原理详细分析

》内核新视界文章汇总《 文章目录 kprobe实现原理分析1 简介2 一个简单的例子3 原理分析3.1 struct kprobe3.2 register_kprobe3.3 arm_kprobe3.4 kprobe 的执行3.4.1 single_step_handler 4 总结 kprobe实现原理分析 1 简介 linux内核提供了许多调试内核的方式&#xff0c;…

《算法竞赛·快冲300题》每日一题:“分牌”

《算法竞赛快冲300题》将于2024年出版&#xff0c;是《算法竞赛》的辅助练习册。 所有题目放在自建的OJ New Online Judge。 用C/C、Java、Python三种语言给出代码&#xff0c;以中低档题为主&#xff0c;适合入门、进阶。 文章目录 题目描述题解C代码Java代码Python代码 “ 分…

File类的学习

java.io.File类 文件和目录路径的抽象表达形式是一个与操作系统无关的类&#xff0c;任何一个操作系统都可以使用这个类中的方法 File.pathSeparator 文件路径分隔符&#xff0c;windows是分号&#xff0c;linux是&#xff1a; File.separator 文件名分隔符&#xff0c;window…

/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28‘ not found

某项目中&#xff0c;我要给别人封装一个深度学习算法的SDK接口&#xff0c;运行在RK3588平台上&#xff0c;然后客户给我的交叉编译工具链是 然后我用他们给我的交叉编译工具链报下面的错误&#xff1a; aarch64-buildroot-linux-gnu-gcc --version /data/chw/aarch64/bin/cca…

https请求异常引发:如何快速解决项目中问题?

总结思考&#xff1a;如何做一个出色的开发者&#xff1f; 首先我们要承认我们大部分程序员是应用开发&#xff0c;不是操作系统、协议、框架开发等这类底层开发者。 其一&#xff1a;是否能快速定位问题。如找到出现问题的代码&#xff0c;bug出现在哪一行&#xff0c;哪个应…

LNMP搭建及论坛搭建

一、LNMP LNMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c; 能够提供动态Web站点服务及其应用开发环境。LNMP是一个缩写词&#xff0c;具体包括Linux操作系统、nginx网站服务器、MySQL数据库服务器、PHP&#xff08;或…