小编AJ *_* X.的帖子

Angular2:你如何并行运行2个动画?

我有一个扩展/收缩的容器.容器内部有一个元素,当容器膨胀时应该淡入,当容器收缩时应该淡出.

我的问题

  • 当容器展开时,两个元素的动画都有效.
  • 当容器缩小时,只有容器动画才有效.
  • 如果我删除容器扩展动画,则淡入/淡出动画将按预期工作.

如何在扩展/收缩条件下并行执行所有动画?

注意使用ngIf.这是故意的,因为它会破坏动画序列末尾的元素.

这是我当前状态的一个傻瓜:https://embed.plnkr.co/TXYoGf9QpErWmlRvQF9Z/

组件类:

export class App {
  expanded = true;

  toggleExpandedState() {
    this.expanded = !this.expanded;
  }

  constructor() {
  }
}
Run Code Online (Sandbox Code Playgroud)

模板:

<div class="container" [@expansionTrigger]="expanded">
  <div class="constant-item"></div>
  <div class="fade-item" [@stateAnimation] *ngIf="expanded"></div>
</div>

<button (click)="toggleExpandedState()">Toggle Fade</button>
Run Code Online (Sandbox Code Playgroud)

和组件动画:

  trigger('expansionTrigger', [
    state('1', style({
      width: '250px'
    })),
    state('0', style({
      width: '160px'
    })),
    transition('0 => 1', animate('200ms ease-in')),
    transition('1 => 0', animate('200ms ease-out'))
  ]),
  trigger('stateAnimation', [
    transition(':enter', [
      style({
        opacity: 0
      }),
      animate('200ms 350ms ease-in', …
Run Code Online (Sandbox Code Playgroud)

typescript angular-ng-if angular

9
推荐指数
1
解决办法
1989
查看次数

使用 Go 进行 PNG 编码很慢

我正在使用 go-opencv 从我的内置网络摄像头获取帧。从相机获取图像所需的时间约为 50 毫秒。编码 PNG 的时间约为 300 毫秒。编码 JPEG 的速度快了 3 倍,但仍然非常慢。

为什么这个运行这么慢?

注意:我已经针对 NodeJS 编写了类似的代码,在同一台机器上执行,并且使用额外的图像处理达到 30fps 绝对没有问题。对我来说,这消除了等式中的硬件问题。

我的代码如下所示:

import (
    "fmt"
    "image/png"

    "github.com/lazywei/go-opencv/opencv"
)

camera := opencv.NewCameraCapture(0)
if camera == nil {
    panic("Unable to open camera.")
}
defer camera.Release()

for {
    if camera.GrabFrame() {
        img := camera.RetrieveFrame(1)
        if img != nil {
            frame := img.ToImage()
            buffer := new(bytes.Buffer)
            png.Encode(buffer, frame)
        } else {
            fmt.Println("Unable to capture frame")
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

opencv go

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

Svelte:如何将操作传递给组件?

这里有一个类似的问题,但我不相信答案适用于我的用例。

我正在使用Svelte MaterialUI并尝试扩展DataTable组件,使其具有拖放行的功能。我正在使用svelte-dnd-action模块来支持拖放行为。

以下效果很好。我可以拖放表格的行。

<table>
  <thead>...</thead>
  <tbody use:dndzone{...opts}>
     ...data
  <tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

但是,当尝试将模块插入 Material UI 组件时,我收到一条错误,指出“操作只能应用于 DOM 元素,而不是组件。”

<DataTable>
  <Head>...</Head>
  <Body use:dndzone={...opts}>
    ...Data
  </Body>
</DataTable>
Run Code Online (Sandbox Code Playgroud)

组件的定义Body如下所示:

<tbody
  use:useActions={use}
  use:forwardEvents
  class="mdc-data-table__content {className}"
  {...exclude($$props, ['use', 'class'])}
><slot></slot></tbody>

<script>
  import {setContext} from 'svelte';
  import {get_current_component} from 'svelte/internal';
  import {forwardEventsBuilder} from '@smui/common/forwardEvents.js';
  import {exclude} from '@smui/common/exclude.js';
  import {useActions} from '@smui/common/useActions.js';
  const forwardEvents = forwardEventsBuilder(get_current_component());
  export let use = [];
  let className = '';
  export {className as …
Run Code Online (Sandbox Code Playgroud)

javascript svelte svelte-component svelte-3

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

从父数组中获取具有最大长度的数组

获取最大长度数组的最佳方法是什么?

我有一个如下数组,

main = [
         [1,2,3],
         [4],
         [5,6,7,8],
         [9,0]
       ]
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我需要存储具有最大长度的数组

maxArray = main[2]
Run Code Online (Sandbox Code Playgroud)

javascript

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

如何从int中删除数字?

我得到了一些代码,为int添加了数字.

int mad = 0; mad++
Run Code Online (Sandbox Code Playgroud)

您可以使用"++"运算符将数字增加/加1.是否有类似的方法来减去/减少数字?

c#

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