基本上,我使用的是Jekyll(使用Liquid模板语言),我正在尝试编写一个for循环,它将每两个项目包装在一个div.
这是我目前的循环:
<div>
{% for post in site.posts %}
<a href="{{ post.url }}">{{ post.title }}</a>
{% endfor %}
</div>
Run Code Online (Sandbox Code Playgroud)
哪个会输出四个帖子,如下:
<div>
<a href="#">Title</a>
<a href="#">Title</a>
<a href="#">Title</a>
<a href="#">Title</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我想要的四个帖子的输出是:
<div>
<a href="#">Title</a>
<a href="#">Title</a>
</div>
<div>
<a href="#">Title</a>
<a href="#">Title</a>
</div>
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?
PHP支持可变参数的扩展运算符.
在JavaScript中,您可以使用spread运算符来执行此操作:
var a = [1, 2];
var b = [...a, 3, 4];
console.log(b); // [1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)
但是,尝试在PHP中执行此操作:
$a = [1, 2];
$b = [...$a, 3, 4];
var_dump($b);die;
Run Code Online (Sandbox Code Playgroud)
结果出现此错误:
解析错误:语法错误,意外'...'(T_ELLIPSIS),期待']'
在PHP中不允许使用这种方式使用扩展运算符吗?如果是这样,是否有同样优雅的方式来达到同样的效果?
最近我遇到了一些代码,它们将子类型声明为基类中的枚举.这是一个简单的例子:
public enum EmployeeType
{
Manager,
Secretary
}
public class Employee
{
public string Code { get; set; }
public EmployeeType Type { get; set; }
}
public class Manager : Employee
{
public void Manage()
{
// Managing
}
}
public class Secretary : Employee
{
public void SetMeeting()
{
// Setting meeting
}
}
Run Code Online (Sandbox Code Playgroud)
根据我的开发经验,我写了一篇关于它的文章,宣称这是一个糟糕的做法/设计.我认为这很糟糕,因为基类应该与其子类无关.它应该没有关于其子类的信息,这至少有两个原因:
Developer例如,您还应该更新EmployeeType您可能无权访问的枚举.矛盾的定义:现在你可以编写这段代码:
Secretary secretary = new Secretary();
secretary.EmployeeType = EmployeeType.Manager;
/*
This is absurd semantically. …Run Code Online (Sandbox Code Playgroud)是否可以将 endAdornment 放入 MaterialUI 中的选择菜单中?
我想将内容添加到选择菜单上向下指针的右侧。
endAdornment={
<InputAdornment position="end">
<Insights />
</InputAdornment>
<Select
labelId="demo-mutiple-name-label"
id="demo-mutiple-name"
multiple
value={fieldName}
onChange={handleChange}
input={<Input id="select-multiple-chip" />}
renderValue={(selected) => (
<div className={classes.chips}>
{selected.map((value) => (
<Chip key={value} label={value} className={classes.chip} />
))}
</div>
)}
MenuProps={MenuProps}
>
{field.map((field) => (
<MenuItem key={field} value={field} >
{field}
</MenuItem>
))}
</Select>
Run Code Online (Sandbox Code Playgroud) 我想断言某个元素永远不会出现在我的文档中。我知道我可以做到这一点:
import '@testing-library/jest-dom/extend-expect'
it('does not contain element', async () => {
const { queryByText } = await render(<MyComponent />);
expect(queryByText('submit')).not.toBeInTheDocument();
});
Run Code Online (Sandbox Code Playgroud)
但就我而言,我需要等待以确保延迟后不会添加该元素。我怎样才能实现这个目标?
在我的新 React Native 应用程序中,我想添加一些 Jest 测试。
一个组件渲染背景图像,该图像直接位于项目assets文件夹中。
现在我偶然发现了如何测试此图像是否实际上是从该路径中获取的,因此存在于组件中并正确呈现。
我尝试将toHaveStylefrom@testing-library/jest-native与容器一起使用,它返回的错误toHaveStyle不是函数。然后我尝试了queryByTestId同样的错误,同样的错误。当我这样做时, expect(getByTestId('background').toBeInTheDocument);我觉得这没用,因为它只检查是否存在具有此 testId 的元素,而不检查图像源。
请问这个怎么测试啊 毕竟,测试图像源真的有意义吗?
这是我的代码:
1.) 应测试的组件 ( Background):
const Background: React.FC<Props> = () => {
const image = require('../../../../assets/images/image.jpg');
return (
<View>
<ImageBackground testID="background" source={image} style={styles.image}></ImageBackground>
</View>
);
};
Run Code Online (Sandbox Code Playgroud)
2.) 测试:
import React from 'react';
import {render, container} from 'react-native-testing-library';
import {toHaveStyle} from '@testing-library/jest-native';
import '@testing-library/jest-native/extend-expect';
import Background from '../Background';
describe('Background', () => {
test('renders Background image', …Run Code Online (Sandbox Code Playgroud) 使用jQuery,有没有办法document.ready在页面加载后的某个时刻重新触发触发器?
更新:jQuery一旦运行就会脱掉它们.在我的实验中,看起来jQuery会在触发().ready初始ready事件后遇到回调时立即运行回调.
我有一个领域的背景.底部是绿色,顶部是灰色.背景上有文字.有没有办法让文本"感知"背景是什么颜色,并以某种方式着色字体以使其对比?
例如,灰色天空上的文本会变得更亮,绿色区域上的文本会变得更暗,以使其更加明显.
我可能会在这个问题上走得很远,但任何建议都值得赞赏.(请注意,我不是在寻找手动更改字体颜色的答案.)
我正在使用react / redux开发应用程序,并且我开始使用库react-intl格式化消息和日期。
我已经能够在<FormattedDate>标签中显示其使用的时区。
我想选择所有可能存在的时区,所以当用户选择一个时区时,该<FormattedDate>格式会自动更改。
我找不到如何使用react-intl列出所有可能的时区。
我也在google中搜索过,但没有找到任何内置的javascript函数可以做到这一点。
是那样吗 如何获得该清单?
注意:不要以为是同一个问题,因为如果可能的话,我不想使用外部库,如果这是唯一的解决方案,那么我将不得不采用这种方式...:/
我们使用的是ASP.NET Razor,我们大量使用Razor生成HTML,在布局中包含部分视图,以及类似的东西.
但是,现在Angular已经出现并且非常强大,我们希望尽可能多地使用它.
一位同事建议理论上应该可以用Angular JS完全取代Razor,我们对它进行了研究,看起来似乎是可行的.
例如,我们可以替换Html.Partial使用ngInclude,我们可以更换RenderBody()使用<ng-view>,我们可以替换循环ng-repeat等
将Razor放在一边并只与Angular合作是否有任何陷阱?我们错过了什么吗?
c# ×2
jestjs ×2
angularjs ×1
arrays ×1
asp.net ×1
background ×1
contrast ×1
css3 ×1
fonts ×1
javascript ×1
jekyll ×1
jquery ×1
liquid ×1
material-ui ×1
oop ×1
php ×1
razor ×1
react-intl ×1
react-native-testing-library ×1
react-select ×1
reactjs ×1
timezone ×1