小编evo*_*box的帖子

克隆TypeScript对象

我有一个打字稿类

export class Restaurant {

  constructor ( private id: string, private name: string ) {

  }

  public getId() : string {
    return this.id;
  }

  public setId(_id : string) {
    this.id = _id;
  }

  public getName () {
    return this.name;
  }

  public setName ( _name:string ) {
    this.name = _name;
  }

}
Run Code Online (Sandbox Code Playgroud)

然后我有一个这个类的实例(这是一个例子):

restaurant:Restaurant = new Restaurant(1,"TestRest");
Run Code Online (Sandbox Code Playgroud)

然后我将这个餐馆对象存储在某种缓存中

cache.store( restaurant );
Run Code Online (Sandbox Code Playgroud)

然后在我的申请表中我回到了餐馆

var restToEdit = cache.get( "1" );
restToEdit.setName( "NewName" );
Run Code Online (Sandbox Code Playgroud)

但是由于javascripts通过引用传递对象,我对restToEdit所做的更改也会保存在缓存中的餐馆中.

我基本上希望缓存中的餐厅与restToEdit完全不同.

我已经尝试过使用jQuery.clone和extend,但它似乎不起作用,我认为这是因为它是一个打字稿对象.或者那不重要吗?

任何关于如何克隆此对象的答案将不胜感激

谢谢

javascript clone typescript

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

使用jquery暂停mediaelement.js

我使用以下方法初始化了元素:

$('video').mediaelementplayer();
Run Code Online (Sandbox Code Playgroud)

现在我想定位该视频并在按下链接时暂停它:

$('.page_button').live('click', function() {
    $('video').pause();
});
Run Code Online (Sandbox Code Playgroud)

谢谢.

javascript video jquery html5 mediaelement.js

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

Tab 按键不会改变焦点元素

我正在创建一个基于用户键盘事件(如按 Enter、箭头等)处理焦点的组件。

最好测试该组件是否忽略了 keydown 上的 tab 键。

但是,在触发 keydown tab 事件时,焦点不会像在浏览器中那样改变。


鉴于反应组件 Component.js

import React from 'react'

export default () => (
  <>
    <button data-testid="one">
      one
    </button>
    <button data-testid="two">
      two
    </button>
  </>
)
Run Code Online (Sandbox Code Playgroud)

和下面的测试 Component.test.js

import React from 'react'
import 'jest-dom/extend-expect'
import { cleanup, fireEvent, render, wait } from 'react-testing-library'
import Component from './Component'

afterEach(cleanup)

it('changes focus on tab', async () => {
  const { getByTestId } = render(<Component />)
  const one = getByTestId('one')
  const two = getByTestId('two')

  one.focus()

  expect(one).toHaveFocus() …
Run Code Online (Sandbox Code Playgroud)

javascript jsdom reactjs jestjs react-testing-library

8
推荐指数
1
解决办法
3781
查看次数

Sencha触摸2本机构建不加载

生成默认应用程序后:

sencha generate app Sencha ../Sencha
Run Code Online (Sandbox Code Playgroud)

我决定在iOS模拟器上测试应用程序

cd ../Sencha/
sencha app build native
Run Code Online (Sandbox Code Playgroud)

它加载应用程序但卡在加载图标上: Sencha iOS app卡在加载屏幕上

下面是主应用程序(App.js)的代码:

Ext.application({
    name: 'Sencha',

    requires: [
        'Ext.MessageBox'
    ],

    views: ['Main'],

    icon: {
        '57': 'resources/icons/Icon.png',
        '72': 'resources/icons/Icon~ipad.png',
        '114': 'resources/icons/Icon@2x.png',
        '144': 'resources/icons/Icon~ipad@2x.png'
    },

    isIconPrecomposed: true,

    startupImage: {
        '320x460': 'resources/startup/320x460.jpg',
        '640x920': 'resources/startup/640x920.png',
        '768x1004': 'resources/startup/768x1004.png',
        '748x1024': 'resources/startup/748x1024.png',
        '1536x2008': 'resources/startup/1536x2008.png',
        '1496x2048': 'resources/startup/1496x2048.png'
    },

    launch: function() {
        // Destroy the #appLoadingIndicator element
        Ext.fly('appLoadingIndicator').destroy();

        // Initialize the main view
        Ext.Viewport.add(Ext.create('Sencha.view.Main'));
    },

    onUpdated: function() {
        Ext.Msg.confirm(
            "Application Update",
            "This application has just successfully been …
Run Code Online (Sandbox Code Playgroud)

javascript json ios sencha-touch-2

7
推荐指数
1
解决办法
3065
查看次数

无法在 Git Bash (Windows) 中使用箭头键

我正在尝试在我的存储库中设置语义 UI,但由于某种原因,我无法使用箭头键在 Git Bash 中选择菜单选项。

在此处输入图片说明

按向下或向上只移动我的光标,它不会移动选择正确菜单选项的 > 图标。

git-bash semantic-ui

7
推荐指数
3
解决办法
5121
查看次数

将 Uint8Array 解码为 JSON

我正在从 API 获取数据以显示销售和财务报告,但我收到了一个 gzip 类型文件,我设法将其转换为 Uint8Array。我想以某种方式将其解析解码为 JSON 文件,我可以用它来访问数据并在前端创建图表。我尝试使用不同的库(pako 和 cborg 似乎是最接近用例的库),但最终出现错误Error: CBOR decode error: unexpected character at position 0

这是我到目前为止所拥有的代码:

let req = https.request(options, function (res) {
      console.log("Header: " + JSON.stringify(res.headers));
      res.setEncoding("utf8");
      res.on("data", function (body) {
        const deflatedBody = pako.deflate(body);
        console.log("DEFLATED DATA -----> ", typeof deflatedBody, deflatedBody);
        console.log(decode(deflatedBody));
      });
      res.on("error", function (error) {
        console.log("connection could not be made " + error.message);
      });
    });
    req.end();
  };
Run Code Online (Sandbox Code Playgroud)

我希望任何人都已经偶然发现了这一点并有一些想法。多谢!

javascript python api reactjs uint8array

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

jQuery将两个元素悬停在一个元素上

我有一张图像地图,我用锚点的形式覆盖了一些标记.我目前在每个图像映射区域和相关锚点上都有一个悬停触发器 - 如屏幕截图所示 在此输入图像描述

我需要这两个元素当作之一,目前当鼠标移出一个到另一个,它会调用.hover()并再次回调.我只想在鼠标移出任何一个元素时调用悬停回调.

jquery

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

没有这样的框架"使用罗盘"

我正在尝试使用susy网格创建一个指南针项目.

$ compass create --using susy test
No such framework: "susy"
Run Code Online (Sandbox Code Playgroud)

我在Windows 7上使用git-bash.我安装了Ruby 2.0.0p451,Sass 3.3.8和Compass 0.12.6.我有require 'susy'我的config.rb文件.

susy-compass compass-sass susy-sass

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

通过删除字符串来计算数组的总和?

我有一个数组,每个学生有 3 个索引:

var students = [
    ['Toto', 4, 17],
    ['Titi', 11, 12],
    ['Tata', 12, 14]
];
Run Code Online (Sandbox Code Playgroud)

我必须计算每个学生的总和。除此之外,我必须避免使用字符串。

我为学生获得的结果Toto0而不是21

不明白问题出在哪里?

var students = [
    ['Toto', 4, 17],
    ['Titi', 11, 12],
    ['Tata', 12, 14]
];
Run Code Online (Sandbox Code Playgroud)

javascript

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

画布描边和填充颜色

问题是描边不透明度低于填充不透明度,并且我无法使描边颜色与填充颜色具有相同的不透明度。

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.strokeStyle = "rgba(255,0,0,1)";
ctx.fillStyle = "rgba(255,0,0,1)";
ctx.strokeRect(20, 20, 25, 25);
ctx.fillRect(20, 50, 25, 25);
Run Code Online (Sandbox Code Playgroud)
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
    Your browser does not support the HTML5 canvas tag.</canvas>
Run Code Online (Sandbox Code Playgroud)

如果我们将 fillStyle 不透明度设置为 0.5,那么它们将是相同的,但我们不能提高描边的不透明度。

那么如何设置描边颜色与填充颜色相同呢?

javascript canvas

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