小编Nat*_*hur的帖子

For循环,在div中包含每两个帖子

基本上,我使用的是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)

我怎么能做到这一点?

liquid jekyll

24
推荐指数
4
解决办法
1万
查看次数

数组声明中的PHP Spread运算符

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中不允许使用这种方式使用扩展运算符吗?如果是这样,是否有同样优雅的方式来达到同样的效果?

php arrays variadic-functions spread-syntax

22
推荐指数
4
解决办法
2万
查看次数

宣告孩子输入基类; 是不是坏了?

最近我遇到了一些代码,它们将子类型声明为基类中的枚举.这是一个简单的例子:

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)

根据我的开发经验,我写了一篇关于它的文章,宣称这是一个糟糕的做法/设计.我认为这很糟糕,因为基类应该与其子类无关.它应该没有关于其子类的信息,这至少有两个原因:

  1. 可扩展性:此设计不可扩展,因为如果要定义另一个派生类,Developer例如,您还应该更新EmployeeType您可能无权访问的枚举.
  2. 矛盾的定义:现在你可以编写这段代码:

    Secretary secretary = new Secretary();
    secretary.EmployeeType = EmployeeType.Manager;
    /*
    This is absurd semantically. …
    Run Code Online (Sandbox Code Playgroud)

c# oop object-oriented-analysis

18
推荐指数
3
解决办法
1286
查看次数

Material UI - 选择带有结束装饰的菜单

是否可以将 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)

react-select material-ui

15
推荐指数
1
解决办法
3万
查看次数

如何等待断言元素永远不会出现在文档中?

我想断言某个元素永远不会出现在我的文档中。我知道我可以做到这一点

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)

但就我而言,我需要等待以确保延迟后不会添加该元素。我怎样才能实现这个目标?

reactjs jestjs react-testing-library

15
推荐指数
2
解决办法
2万
查看次数

Jest+React 原生测试库:如何测试图像 src?

在我的新 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)

jestjs react-native-testing-library

14
推荐指数
3
解决办法
1万
查看次数

如何在jQuery中触发$().ready()?

使用jQuery,有没有办法document.ready在页面加载后的某个时刻重新触发触发器?

更新:jQuery一旦运行就会脱掉它们.在我的实验中,看起来jQuery会在触发().ready初始ready事件后遇到回调时立即运行回调.

jquery

13
推荐指数
2
解决办法
3万
查看次数

自动对比字体颜色到背景

我有一个领域的背景.底部是绿色,顶部是灰色.背景上有文字.有没有办法让文本"感知"背景是什么颜色,并以某种方式着色字体以使其对比?

例如,灰色天空上的文本会变得更亮,绿色区域上的文本会变得更暗,以使其更加明显.

我可能会在这个问题上走得很远,但任何建议都值得赞赏.(请注意,我不是在寻找手动更改字体颜色的答案.)

fonts background css3 contrast compare-contrast

13
推荐指数
1
解决办法
1万
查看次数

如何获取JavaScript中所有时区的列表

我正在使用react / redux开发应用程序,并且我开始使用库react-intl格式化消息和日期。

我已经能够在<FormattedDate>标签中显示其使用的时区。

我想选择所有可能存在的时区,所以当用户选择一个时区时,该<FormattedDate>格式会自动更改。

我找不到如何使用react-intl列出所有可能的时区。

我也在google中搜索过,但没有找到任何内置的javascript函数可以做到这一点。

是那样吗 如何获得该清单?

注意:不要以为是同一个问题,因为如果可能的话,我不想使用外部库,如果这是唯一的解决方案,那么我将不得不采用这种方式...:/

javascript timezone react-intl

13
推荐指数
9
解决办法
9638
查看次数

从Razor(asp.net)迁移到Angular JS作为模板引擎

我们使用的是ASP.NET Razor,我们大量使用Razor生成HTML,在布局中包含部分视图,以及类似的东西.

但是,现在Angular已经出现并且非常强大,我们希望尽可能多地使用它.

一位同事建议理论上应该可以用Angular JS完全取代Razor,我们对它进行了研究,看起来似乎是可行的.

例如,我们可以替换Html.Partial使用ngInclude,我们可以更换RenderBody()使用<ng-view>,我们可以替换循环ng-repeat

将Razor放在一边并只与Angular合作是否有任何陷阱?我们错过了什么吗?

c# asp.net razor angularjs

12
推荐指数
1
解决办法
2005
查看次数