我试图了解 clsx 在为 React 中的组件分配类名时的一些用途。
构造
className={clsx(classes.menuButton, open && classes.hide)}
Run Code Online (Sandbox Code Playgroud)
够清楚了。它应用'classes.menuButton',如果布尔值'open' 的值为真,它也应用'classes.hide'。
我的问题与第二个例子有关:
className={clsx(classes.appBar, {[classes.appBarShift]: open })}
Run Code Online (Sandbox Code Playgroud)
这将应用“classes.appBar”。但是第二个参数是什么意思呢?
我想使用一个java switch
语句,它使用class
名称作为case
常量.有可能吗?或者我是否必须复制类名?
由于编译器错误,以下代码不起作用:
case表达式必须是常量表达式
String tableName = "MyClass1";
...
switch (tableName) {
case MyClass1.class.getSimpleName():
return 1;
case MyClass2.class.getSimpleName():
return 2;
default:
return Integer.MAX_VALUE;
}
Run Code Online (Sandbox Code Playgroud)
以下是该问题的在线演示(openjdk 1.8.0_45
):http://goo.gl/KvsR6u
我有这个Maven"任务"使用JAXB从XSD文件生成Java类.
<!-- XML to Java classes -->
<plugin>
<groupId>com.sun.tools.xjc.maven2</groupId>
<artifactId>maven-jaxb-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
<configuration>
<generatePackage>nl.compay.service</generatePackage>
<schemaDirectory>src/main/webapp/compay</schemaDirectory>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
对于XSD类型"User",它会生成一个名为"User"(duh)的类.但是,我还有一个名为"User"的JPA实体类(虽然在不同的包中).我可以更改上面的XML配置,让JAXB为生成的类添加"XML"之类的前缀吗?
假设我正在将多项选择测验从任意XML格式转换为HTML.每个选项都将<li>
在结果文档中表示为HTML 标记.对于每一个选择,我想添加一个HTML class
的correct
到<li>
,如果这样的选择是正确的答案.此外,如果选择是由用户选择的一个,我想补充的一个类submitted
的<li>
.因此,如果选择的是正确的,以及所提交的之一,<li>
应该有一个class
的correct submitted
.
据我所知,空格分隔的属性值不是XML数据模型的一部分,因此无法通过XSLT直接创建.但是,我觉得有一种更好的方法可以做到这一点,而不是为每个可能的类组合用一个条件乱码(在这个例子中这是可以接受的,但在更复杂的场景中是不实用的).
我怎样才能以优雅的方式解决这个问题?
期望结果的示例:
<p>Who trained Obi-Wan Kenobi?</p>
<ul>
<li>Mace Windu</li>
<li class="correct submitted">Qui-Gon Jinn</li>
<li>Ki-Adi-Mundi</li>
<li>Yaddle</li>
</ul>
Run Code Online (Sandbox Code Playgroud) 我想知道如果在PHP中有两个具有相同名称的类,如果它们位于不同的子文件夹中,是否有任何问题?
- 除了错误地编辑错误文件的明显"人为因素"之外.
@admin:我已经在网上找到了与此相关的其他帖子,但没有找到回答这个具体问题的帖子.
@everyone:我确实发现这个(php - 来自不同文件夹的Autoload类)非常有用,但事实上它解决了我的其他问题之一!
我的一些朋友和同事进行了一些竞赛,以找到或写出可能的最长的类/变量/属性/方法名称.请记住,我们努力成为优秀的男孩和女孩,并保持命名可理解和简洁,同时仍然通过其名称解释事情的作用.
有时候它不会发生.你参加过这个吗?我只想看看那里有什么.(也许我的朋友和我并不像我们想象的那样疯狂)
注意:我不是在寻找糟糕的命名.那已经在这里了.我正在寻找有点长的好命名.
我正在使用 Create-React-App 编写一个小型 React 应用程序。对于简单的样式调整,我使用 tachyons-css。由于频繁出现的 CSS 样式问题,我最近从经典的 CSS 样式切换到了 CSS 模块(也是 SCSS 的有效问题)。现在我想知道是否有一种方法仍然可以同时使用 CSS 模块和 tachyons 样式,即使不再可能只向 CSS 模块样式对象添加一个额外的“经典”className。
在使用 CSS 模块之前,我曾经通过具有多个 className 来定义一个类和 tachyons 样式(在本例中为 padding5)。例如:
<ExampleComponent className="examplecomponentstyle pa5"/>
Run Code Online (Sandbox Code Playgroud)
使用 CSS 模块时,CSS 类定义现在如下所示:
<ExampleComponent className={styles.examplecomponentstyle}/>
Run Code Online (Sandbox Code Playgroud)
现在如何将此语法与先前使用的 tachyons 样式相结合?有没有这样的东西可以工作?:
<ExampleComponent className={styles.examplecomponentstyle & "pa5"}/>
Run Code Online (Sandbox Code Playgroud)
非常感谢!
19 年 9 月 5 日更新:
该clsx包正好在做什么,我试图实现。安装 clsx 后
npm install --save clsx
Run Code Online (Sandbox Code Playgroud)
例如,可以使用 clsx 对 ExampleComponent 进行样式设置,如下所示:
<ExampleComponent className={clsx(styles.examplecomponentstyle, "pa5 bg-yellow")}/>
Run Code Online (Sandbox Code Playgroud)
20 年 5 月 17 日的更新:
正如 Sandip 指出的,ClassNames 包 …
我一直在搜索有关C++代码的符号表是否包含函数名称和类名的各种帖子.我可以在帖子上找到的东西是它取决于编译器的类型,
如果它在一次通过中编译代码,则它不需要在符号表中存储类名和子程序名
但如果它是一个多遍编译器,它可以添加有关它遇到的类及其子例程的信息,以便它可以进行参数类型检查并发出有意义的错误消息.
我无法理解它是否真的依赖于编译器?我假设编译器(对于C++代码)会在表中放置带有类名的函数名,无论它是单通道还是多通道编译器.它如何依赖传球?我没有这么棒的知识.此外,任何人都可以显示一个简单的C++类的示例符号表,它会是什么样的(带有类名的函数名)?
模块中的某些元素collections
似乎是大写的,而另一些则不是。其背后是否有具体的理由?
有没有办法在编译时隐式引用类的名称?
具体来说,如果我想在的范围内声明template class A
using 的实例,是否可以避免在声明该实例的语法中明确引用“ B” ?class B
class B
class A
为了更好地说明一个例子:
// main.cpp
#include <iostream>
using namespace std;
template <typename T>
class A
{
public:
typedef void (T::*TFunc)();
A( T& t ) : t_( t ) {}
void callFunc( TFunc tFunc ) { (t_.*tFunc)(); }
private:
T& t_;
};
class LongClassName
{
public:
LongClassName() : a_( *this ) {}
void pubFunc()
{
a_.callFunc( &LongClassName::privFunc ); // Can I avoid explicitly using "LongClassName" here?
}
private: …
Run Code Online (Sandbox Code Playgroud) class-names ×10
c++ ×2
reactjs ×2
class ×1
collections ×1
const ×1
css-modules ×1
final ×1
function ×1
html ×1
java ×1
jaxb ×1
jss ×1
naming ×1
php ×1
python ×1
symbol-table ×1
tachyons-css ×1
templates ×1
xjc ×1
xslt ×1