小编Mik*_*uck的帖子

使用枚举作为字典键

我正在尝试为给定的枚举创建保证的查找。与之类似,对于枚举的每个键,在查找中应该只存在一个值。我想通过类型系统来保证这一点,以便在枚举扩展时不会忘记更新查找。我尝试了这个:

type EnumDictionary<T, U> = {
    [K in keyof T]: U;
};

enum Direction {
    Up,
    Down,
}

const lookup: EnumDictionary<Direction, number> = {
    [Direction.Up]: 1,
    [Direction.Down]: -1,
};
Run Code Online (Sandbox Code Playgroud)

但是我收到这个奇怪的错误:

输入'{[Direction.Up]:数字;[Direction.Down]:数字;}”不可分配给“方向”类型。

在我看来这很奇怪,因为它说的类型lookup应该是Direction而不是EnumDictionary<Direction, number>。我可以通过将lookup声明更改为以下内容来确认这一点:

const lookup: EnumDictionary<Direction, number> = Direction.Up;
Run Code Online (Sandbox Code Playgroud)

而且没有错误。

如何为枚举创建查找类型,以确保枚举的每个值都将导致其他类型的值?

TypeScript版本:3.2.1

enums dictionary typescript

6
推荐指数
2
解决办法
1328
查看次数

如何在xCode 6中使用期望设置异步单元测试?

当我想在xCode 6中注册异步单元测试的期望时,我会使用什么语法?谷歌没有什么可以轻易搜索到这个主题,而且显示的内容是用Swift编写的.我正在寻找Objective-C的例子

unit-testing asynchronous objective-c xcode6

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

从 chrome 打开本地文件

是否可以打开文件系统/网络驱动器上的本地文件(c:\abc.xlsxp:\abc.xlsx)?

如果是这样,是否可以通过我为 Google Chrome 创建的自定义扩展来完成此操作?

javascript google-chrome

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

你如何上传Laravel到godaddy的网络托管?

我正在尝试通过Laravel创建一个基本的登录设置.我使用以下指南来帮助我入门:https: //scotch.io/tutorials/simple-and-easy-laravel-login-authentication

完成这些步骤后,我使用本指南帮助我将文件上传到godaddy的网络托管服务:https: //medium.com/@kunalnagar/deploying-laravel-5-on-godaddy-shared-hosting-888ec96f64cd

我按照指南来写信,但我还有一些问题.在将"public"文件夹的内容移动到public_html文件夹并将剩余文件保留在主目录中的Laravel文件夹中之后,它应该允许我输入:mydomain.com/awesomeproject并查看已创建的laravel登录.而是加载到空白页面.这是我所指的图片: 在此输入图像描述

在此输入图像描述

我可能搞乱了以下步骤: 在此输入图像描述

因为当它要求我更改路径以反映新目录时,我不确定它是如何设置的.这是我提出的当前路径:

require __DIR__.'/../Laravel/bootstrap/autoload.php';
$app = require_once __DIR__.'/../Laravel/bootstrap/start.php';
Run Code Online (Sandbox Code Playgroud)

autoload.php和start.php文件位于Laravel-> html-> bootstrap中.我不确定这是否与它有关.理论上,在正确地执行这些步骤之后,我应该能够在我的域上看到我的laravel应用程序,但到目前为止我只得到了一个空白屏幕.我对这些事情很新,所以我不知道有多少我完全错了.我本质上只是希望使用laravel在我的网站上运行此登录功能.任何帮助是极大的赞赏.谢谢.

这些屏幕截图显示了Laravel文件夹的内容以及Laravel文件夹中html文件夹的内容.
在此输入图像描述 在此输入图像描述

php web-hosting laravel

5
推荐指数
0
解决办法
2336
查看次数

CSS 样式转换与 svg 转换

我认为 SVG 的很大一部分是可扩展性因素。我知道如何很好地使用 SVG 以多种不同的方式进行缩放和响应。通常可以在 SVG 元素上设置视图框,然后会根据屏幕的像素创建坐标系。因此,所有变换、平移、旋转、倾斜等都将相对于 svg 自己的坐标系。我认为在翻译等方面,这应该比使用 css 动画更有优势,因为您必须使用像素等测量单位,我认为这会导致在各种分辨率的屏幕上进行不正确的翻译,或调整大小一个浏览器窗口。

有人可以向我解释一下,为什么无论我是在动画之前调整窗口大小还是使用不同的屏幕分辨率,以下 css 动画实际上都会导致元素的相同位置?

Javascript

var g= document.getElementById("testingG");
g.setAttribute("style", "transform: translate("+dockingPoint[0]+"px, "+dockingPoint[1]+"px)");
Run Code Online (Sandbox Code Playgroud)

CSS

#testingG {
    transition: 1s ease-in;
}
Run Code Online (Sandbox Code Playgroud)

HTML

<svg viewBox="0 0 1409 78.875" >
    <g id="testingG"style="transform: translate(1375px, 40px)">
        <circle r="10" cy="0" cx="0" style="fill: rgb(151, 215, 241);"></circle>
        <text  transform="translate(-170, 27)">Testing</text>
    </g>
Run Code Online (Sandbox Code Playgroud)

请注意,我为 g 元素设置了内联 css,这将确保在我使用 javascript 修改样式时触发转换。

我假设在不同的分辨率下,这个 g 元素最终会出现在不同的位置。

svg 元素是否在后台以某种方式忽略了我正在通过 css 进行翻译并仍然缩放这些像素尺寸以符合我设置的视图框的事实?

这是我唯一能想到的,如果是这种情况,我会很感激一些文档的链接:)

javascript svg css-transforms css-animations responsive-design

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

有没有办法在泛型(<T>)函数/类(Typescript)中获取泛型类型的名称?

这是我的函数的定义:

getData<T extends Entity> () { }
Run Code Online (Sandbox Code Playgroud)

我目前不接受任何论点.有没有办法让我在运行时将T转换为该类型的字符串名称?也许使用typeof?

我来自C#世界,你会使用反射.但是,我是Javascript的新手,不知道等效的是什么.

谢谢.

javascript generics typescript

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

使用Fetch API访问JSON

我试图使用fetch api来恢复一些数据,但是一旦我检索它就无法将它映射到控制台.

fetch('http://jsonplaceholder.typicode.com/users', { 
  method: 'GET'
}).then(function(response) {
  console.log(response)
  response.forEach(i => console.log(i.name));
}).catch(function(err) {
  console.log(`Error: ${err}` )
});
Run Code Online (Sandbox Code Playgroud)

我得到的错误是

response.map不是一个函数

所以我试图解析响应,(即var data = JSON.parse),这是错误的

SyntaxError: Unexpected token o in JSON at position 1"
Run Code Online (Sandbox Code Playgroud)

有趣的是,当使用XMLHttp请求做同样的事情时,我需要解析它,所以我也有兴趣知道为什么这两种检索数据的方法之间存在差异.

如果有人能指出我正确的方向,我将非常感激.

javascript json

5
推荐指数
2
解决办法
4149
查看次数

React ref Order 有保证吗?

我正在使用 React 构建一个具有未知数量的子元素的元素,我需要对每个元素的引用。考虑以下代码:

class Items extends React.Component {
    constructor() {
        super();
        this.itemEls = [];
    }

    render() {
        return (
            <div>
                {
                    this.props.items.map((item, index) => {
                        return <div className="item" key={index} ref={(el) => this.itemEls.push(el)}>{item}</div>;
                    })
                }
            </div>
        );
    }

    componentDidMount() {
        console.log(this.itemEls.map((el) => el.innerHTML));
    }
}

ReactDOM.render(<Items items={["Hello", "World", "Foo", "Bar"]} />, document.getElementById('container'));
Run Code Online (Sandbox Code Playgroud)
.item {
  display: inline-block;
  background: #EEE;
  border: 1px solid #DDD;
  color: #999;
  padding: 10px;
  font-family: sans-serif;
  font-weight: bold;
  margin: 10px;
  border-radius: 5px;
  cursor: default;
}
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script> …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs

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

使用匿名类型构建表达式

假设我通过 LINQ 查询创建了一些匿名类型:

var query = from Person in db.People
            join Pet in Pets on Person.ID equals Pet.PersonID
            join Thingy in Thingies on Person.ID equals Thingy.PersonID
            select new { 
                Person.ID, 
                PetName = Pet.Name,
                Thing = Thingy.Thing,
                OtherThing = Thingy.OtherThing
            };
Run Code Online (Sandbox Code Playgroud)

现在我想通过动态构建谓词将一些复杂的表达式应用于查询。我对已知类型所做的事情是这样的:

var predicate = PredicateBuilder.False<MyType>();
predicate = predicate.Or(myType => myType.Flag);
if (someCondition) {
    var subPredicate = PredicateBuilder.True<MyType>();
    subPredicate = subPredicate.And(myType => myType.Thing == someThing);
    subPredicate = subPredicate.And(myType => myType.OtherThing == someOtherThing);
    predicate = predicate.Or(subPredicate);
}
query = query.Where(predicate);
Run Code Online (Sandbox Code Playgroud)

是否可以对匿名类型做类似的事情?我还没有找到一种使用匿名类型的方法,PredicateBuilder …

c# linq linq-to-sql predicatebuilder

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

使用 Android TV 应用程序的遥控器

我正在开发一个用于电视的 Android 应用程序,当我尝试在真正的 Android TV 中测试它时,我无法使用遥控器上、下、左、右按钮导航到任何按钮或任何内容。

我搜索过它,发现我必须使用(启用方向键导航),但我不知道如何使用它,我没有找到任何代码或教程我的应用程序非常简单。它使动态布局彼此并排,每个布局只有一个按钮和一个回收视图。

android google-tv d-pad android-tv

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