小编Jam*_*ger的帖子

在Android屏幕上显示加载叠加层

我希望在我的应用程序尝试登录服务器时,在屏幕上显示一个覆盖图,显示一个小的加载代码或甚至一些文本.我的登录屏幕都在垂直线性布局中.

我想要实现的效果是这样的:http://docs.xamarin.com/recipes/ios/standard_controls/popovers/display_a_loading_message

android overlay progress-bar

45
推荐指数
3
解决办法
8万
查看次数

在Visual Studio 2017中反应项目

我想在Visual Studio 2017中与我的.NET应用程序一起开发一个React应用程序(在同一个解决方案中).

我正在使用TypeScript,所以我想要一个项目类型,我可以自定义构建(我想webpack项目等,所以标准的Visual Studio TypeScript构建是不够的).

我已经安装了node.js开发人员工具,但是他们只允许我创建node.js特定项目(在启动时运行node.js实例)并且不允许我自定义构建过程.

哪种项目类型最适合这个?

javascript visual-studio typescript reactjs visual-studio-2017

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

将int转换为Typescript中的枚举字符串

我从RESTful服务获得以下数据:

[
  {
    "id": 42,
    "type": 0,
    "name": "Piety was here",
    "description": "Bacon is tasty, tofu not, ain't nobody like me, cause i'm hot...",
  }...
Run Code Online (Sandbox Code Playgroud)

我正在使用这个类进行映射:

export enum Type {
  Info,
  Warning,
  Error,
  Fatal,
}


export class Message{
  public id: number;
  public type: Type:
  public name: string;
  public description: string;
}
Run Code Online (Sandbox Code Playgroud)

但是当我在Angular2中访问'type'时,我只得到一个int值.但是我想获得一个字符串值.

例如:

'message.type=0'
{{message.type}} => should be Info
'message.type=1'
{{message.type}} => should be Warning
Run Code Online (Sandbox Code Playgroud)

javascript enums typescript angular

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

通过DOM在javascript中向现有文本元素添加文本

我试图想象如何将文本添加到已经有文本节点的ap标签或h1标签.

例如:

var t = document.getElementById("p").textContent;
var y = document.createTextNode("This just got added");

t.appendChild(y);
Run Code Online (Sandbox Code Playgroud)
<p id="p">This is some text</p>
Run Code Online (Sandbox Code Playgroud)

此代码给出错误appendChild不是函数.大多数帮助页面首先创建ap标签,然后附加文本.

将文本添加到现有文本元素的正确方法是什么?

PS:我之前使用过innerHTML,但出于学习目的,我想在这里避免使用它.

javascript dom

25
推荐指数
4
解决办法
8万
查看次数

地图打字稿枚举

我如何映射打字稿枚举?例如,使用字符串可以执行以下操作:

let arr = [ 'Hello', 'Goodbye' ];

arr.map(v => {
  if (v === 'Hello') {
    return ':)';
  } else if (v === 'Goodbye') {
    return ':(';
  }
); // [ ':)', ':(' ]
Run Code Online (Sandbox Code Playgroud)

当然,这不适用于枚举:

enum MyEnum { Hello, Goodbye };

MyEnum.map(v => {
  if (v === MyEnum.Hello) {
    return ':)';
  } else if (v === MyEnum.Goodbye) {
    return ':(';
  }
}); // does not work
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想以一种通用的方式执行此操作,因此我可以简单地使用任何枚举,并通过map函数将其保留,同时保留类型信息.用法可能如下所示:

map(MyEnum, v => {
  if (v === MyEnum.Hello) {
    return ':)'; …
Run Code Online (Sandbox Code Playgroud)

javascript enums typescript

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

在React无状态组件中TypeScript相当于rest/spread props

我正在尝试将以下函数从bootstrap-react 文档中添加到我的TypeScript + React项目中:

function FieldGroup({ id, label, help, ...props }) {
    return (
        <FormGroup controlId={id}>
            <ControlLabel>{label}</ControlLabel>
            <FormControl {...props} />
            {help && <HelpBlock>{help}</HelpBlock>}
        </FormGroup>
    );
}
Run Code Online (Sandbox Code Playgroud)

但是,TypeScript版本<2.1不支持用作参数的ECMAScript 6的rest/spread属性.

我目前的实施是:

interface FieldGroupProps extends React.HTMLAttributes {
    id?: string;
    label?: string;
    help?: string;
}

class FieldGroup extends React.Component<FieldGroupProps, {}> {
    public render(): JSX.Element {
        const rest = objectWithout(this.props, ["id", "label", "help"]);
        return (
            <FormGroup controlId={this.props.id}>
                <ControlLabel>{this.props.label}</ControlLabel>
                <FormControl {...rest} />
                {this.props.help && <HelpBlock>{this.props.help}</HelpBlock>}
            </FormGroup>
        );
    }
}
Run Code Online (Sandbox Code Playgroud)

这在功能上(不是从性能角度来看)等同于ECMAScript 6版本吗?如果我错过了某些东西或者它可以变得更优雅,那么推荐使用上述rest/spread语法的方法是什么?

javascript typescript reactjs

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

如何在 git 中别名删除合并分支

我正在尝试为命令添加别名:

git branch --merged | grep -v "\*" | grep -v master | xargs -n 1 git branch -d
Run Code Online (Sandbox Code Playgroud)

摘自这个答案

这是我的.gitconfig文件:

[credential]
    helper = wincred
[user]
    name = Doron Grinzaig
    email = doron@doNotSpamMe.Suckers
[push]
    default = simple
[alias]
    db = git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d
    unstage = reset HEAD --
Run Code Online (Sandbox Code Playgroud)

但现在当我尝试编辑 .gitconfig 文件时出现错误:

$ git config --global --edit
fatal: bad config …
Run Code Online (Sandbox Code Playgroud)

windows git bash github

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

TypeScript newable和枚举引用

我有一个用JavaScript编写的外部SDK,我正在使用它.其中一个模块Blob是新的,但也暴露了一个枚举FooEnum(成员BarBaz).

在JavaScript中使用此SDK的代码如下:

const blobInstance = new Sdk.Blob();
const fooType = Sdk.Blob.FooEnum.Baz;
Run Code Online (Sandbox Code Playgroud)

我现在正在尝试编写一个可以将此SDK转换为接口的接口,以便为我提供一些类型安全性.这是我到目前为止所得到的:

interface BlobInterface { }

enum Foo {
    Bar,
    Baz
}

interface Sdk {
    Blob: {
        new(): BlobInterface;
        FooEnum: Foo;
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,我的问题是,当我引用Blob.FooEnum它时,它认为它FooEnum本身实际上是枚举的成员Foo(即它认为它是Bar或者Baz),因此,不让我从中得到Baz它.

我如何告诉TypeScript Blob.FooEnum实际上指向枚举本身并且不是枚举的成员?

javascript enums types typescript typescript-typings

6
推荐指数
1
解决办法
69
查看次数

从.tsx文件访问Window对象

通常在我的.ts文件中,我可以通过调用以下内容来访问窗口对象:

(<any>window).myObject
Run Code Online (Sandbox Code Playgroud)

我在我的.tsx文件中收到了编译错误.有什么办法可以从.tsx文件中访问它吗?

谢谢.

javascript window-object typescript

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

如何从命令行构建android apk?

如何从命令行构建APK文件?我试过了

MSBuild myProject.dproj /p:Config=Release /p:Platform=Android 
Run Code Online (Sandbox Code Playgroud)

但没有生成APK文件,只有.so文件.

delphi msbuild android

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