小编And*_*hiu的帖子

是否有<md-menu>指令的isOpen属性?

指令是否有一个isOpen属性(或类似属性)可以监听或绑定到该属性?<md-menu>angular-material


注意:我最初的问题要长得多并且过于复杂,但是@Sarhanis使我意识到我在问错问题。

javascript angularjs angular-material

5
推荐指数
1
解决办法
1582
查看次数

如何应用 /patches 文件夹中的所有 git .patch 文件 - npm

TL,博士;

我正在寻找 git 命令、bash 脚本或 npm 方法(脚本)来获取.patch文件夹中的所有文件并运行

git apply --ignore-whitespace patches/{filename}
Run Code Online (Sandbox Code Playgroud)

到目前为止我尝试过的:

git am --ignore-whitespace patches/*.patch
Run Code Online (Sandbox Code Playgroud)

上下文(我将用它做什么)

目前正在进行一个大型项目,使用相当多的库。我们使用 webpack,前端是 Angular.js,后端是 Yii2。由于开发人员同时使用 Linux 和 Windows,因此该项目是在 docker 映像内编译的。

到目前为止,每当我们需要对库进行更改时,我们都会对它进行分叉并在以下位置指定分叉package.json

"package-name":"git+https://github.com/{git-user}/{package-name}"
Run Code Online (Sandbox Code Playgroud)

而且...它有效。

我最近发现了一种可以说是更好的将补丁应用于模块的方法,那就是patch-package. 简而言之,它避免了分叉,将更改保存在.patch文件中。

然而,创建补丁文件还不够。在部署时,也需要在构建之前应用。这将转换为部署脚本中的以下行:

docker exec -it {container-name} bash -c "git apply --ignore-whitespace patches/{package-name}+{package-version}.patch"
Run Code Online (Sandbox Code Playgroud)

其中必须在运行之前运行npm run build

而且,它再次有效。


问题

我正在寻找一种方法来自动获取patches/文件夹内的每个文件并应用它们,而无需逐一指定它们。这样,每当.patch将新的补丁推送到补丁文件夹中(或者修改现有的补丁)时,它都会在构建之前自动应用于包,而无需更改部署脚本。

我发现这个问题似乎表明

git am --ignore-whitespace patches/*.patch
Run Code Online (Sandbox Code Playgroud)

可能会成功(当然是在 docker 控制台内)。然而,man页面上git-am说:

从邮箱应用一系列补丁 …

git git-patch npm-scripts patch-package

5
推荐指数
1
解决办法
5840
查看次数

我应该什么时候使用 Vuex?

现在我开始学习vue,我正在创建用于编辑数据库的SPA。现在我不明白我应该在哪里使用 Vuex。我可以$emit在任何地方使用道具,它可以帮助我找到所需的参数。那么在什么情况下我应该使用 Vuex?

javascript vue.js vue-component vuex vuejs2

4
推荐指数
3
解决办法
2841
查看次数

为什么默认情况下,文本节点会呈现在其父级 ::before 下方?

在写关于 SO 的另一个问题的答案时,我制作了以下片段:

@import url('https://fonts.googleapis.com/css?family=Shadows+Into+Light');

/* relevant CSS */
div {
  position: relative;
}

div::before {
  content: '';
  position: absolute;
  top: 0; left:0;
}
div>span {
  position:relative;
  z-index:0;
}

/* rest is just styling - should be irrelevant for the question */


div {
  font: normal normal normal 2rem/1 'Shadows Into Light', cursive;
  color: white;
  text-align:center;
  margin: 1rem;
  padding: 1rem;
  min-width: 15rem;
  cursor: pointer;
}
div::before {
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity .3s cubic-bezier(.4,0,.2,1);
  background-color: #bada55;
  border-radius: …
Run Code Online (Sandbox Code Playgroud)

css z-index pseudo-element

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

lodash 的 .sortedUniq() 似乎没有删除重复项。它是如何工作的?

给定someArr,(时间戳数组php,稍后将转换为javascript时间戳(*=1000)),我期待lodash...

_.sortedUniq(someArr)
Run Code Online (Sandbox Code Playgroud)

删除所有重复值,给出与以下相同的结果

Array.from(new Set(someArr))
Run Code Online (Sandbox Code Playgroud)

谁能解释一下为什么.sortedUniq()不删除重复项?_.uniq()为此,我也尝试过。我的假设是错误的吗?我的数据集有问题吗?

这是mcve.
问题本身是指在我定义之后allVals,但我保留了构建它的方式,以防万一我的做法出现问题。初始数据集数组是来自的php,并且暂时在结构方面是不可协商的。

请注意,虽然我确实在 中进行了一些练习javascript,但我不是一个“受过教育的”程序员,我来自设计背景并学会了动手编写代码,所以我不排除我对某些编程模式不100%准确。

高度赞赏彻底的解释。

javascript lodash

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

lodash 中的对象逆变器不会丢失密钥

尝试使用_.invertlodash 处理对象,将旧密钥收集到数组中,而不是丢失它们。

这是我成功做到这一点的方法:

let tokens = {
    y: 'years',
    Y: 'years',
    M: 'months',
    mo: 'months',
    Mo: 'months',
    w: 'weeks',
    W: 'weeks',
    d: 'days',
    D: 'days',
    h: 'hours',
    H: 'hours',
    m: 'minutes',
    mi: 'minutes',
    Mi: 'minutes',
    s: 'seconds',
    S: 'ms'
  },
  print = JSON.stringify(inverter(tokens), null, 2);

document.querySelector('#test').innerHTML = print;

function inverter(obj) {
  let out = {};
  _.forOwn(obj, (o, k) => {
    out[o] = _.concat(out[o] || [], [k]);
  });
  return out;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.5/lodash.min.js"></script>

<pre id="test"></pre>
Run Code Online (Sandbox Code Playgroud)

大多数时候,我觉得我对 lib 的使用就像游泳锤一样优雅,所以我的问题是:是否有比我当前功能更简单、更优雅的“lodashy”方式? …

javascript lodash

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

如何在 vue 2 中测试组件根元素上的事件?

我正在为以下组件编写单元测试:

<template>
  <sub-component
     @foo="bar"
  />
</template>
<script>
import SubComponent from './SubComponent';

export default {
  name: 'MyComponent',
  components: { SubComponent },
  methods: {
    bar(payload) {
       this.$emit('baz', ...payload);
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

测试将是:

import { shallowMount } from '@vue/test-utils';
import _ from 'lodash';
import MyComponent from '../../components/MyComponent';

describe('MyComponent.vue', () => {
  let wrapper;

  beforeEach(() => {
    wrapper = shallowMount(MyComponent);
  });

  it('should emit baz on subcomponent foo', () => {
    const subComp = wrapper.find('sub-component-stub');
    expect(subComp.exists()).toBe(true);          // passes

    subComp.vm.$emit('foo');

    return wrapper.vm.$nextTick().then(() => {
      expect(wrapper.emitted().baz).toBeTruthy(); …
Run Code Online (Sandbox Code Playgroud)

unit-testing vue.js vuejs2 vue-test-utils

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

如何让矩阵背景渲染在页面内容后面?

我想在我的 Web 应用程序中使用这个很酷的矩阵背景,但它涵盖了我的所有元素(div、标题、段落等)。

我尝试用 css 解决这个问题,但它不起作用。所以现在我陷入困境并请求你的帮助。

这是我来自 CodePen 的代码:

const canvas = document.getElementById('canv');
const ctx = canvas.getContext('2d');

const w = canvas.width = document.body.offsetWidth;
const h = canvas.height = document.body.offsetHeight;
const cols = Math.floor(w / 20) + 1;
const ypos = Array(cols).fill(0);

ctx.fillStyle = '#000';
ctx.fillRect(0, 0, w, h);

function matrix () {
  ctx.fillStyle = '#0001';
  ctx.fillRect(0, 0, w, h);

  ctx.fillStyle = '#0f0';
  ctx.font = '15pt monospace';

  ypos.forEach((y, ind) => {
    const text = String.fromCharCode(Math.random() * 128);
    const x = ind …
Run Code Online (Sandbox Code Playgroud)

html javascript css codepen

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

无法覆盖媒体查询的 CSS

https://codepen.io/everybodysfeelingwonderland/full/OjyRpM/

不知何故,我无法在媒体查询中为较小的屏幕尺寸更改导航链接的颜色。它应该变成白色,但对于更大的屏幕,它只是保持灰色。

@media all and (max-width: 580px) {
  nav li a,
  nav ul li {
    color: white;
    text-align: right;
    display: block;
  }
}

nav li a {
  text-decoration: none;
  color: #666666;
  font-size: 20px;   
}
Run Code Online (Sandbox Code Playgroud)

css media-queries

2
推荐指数
1
解决办法
783
查看次数

Vue 3 中的可挂组件是什么?

我正在阅读这篇文章:https : //v3.vuejs.org/guide/component-dynamic-async.html#using-with-suspense

它指的是一个称为“可悬浮”组件的概念。

我已经研究过,但我找不到任何关于所谓的“悬浮”组件的信息。

谁能解释一下它是什么?谢谢!

vue.js vuejs3

2
推荐指数
1
解决办法
263
查看次数