小编met*_*bed的帖子

使用AngularJS中的ng-style和百分比值设置HTML元素宽度

我有一个包含百分比值的JSON响应对象.例如:

{
    completionPercent: 42
}
Run Code Online (Sandbox Code Playgroud)

我的目标UI结果是:

????????????????????????????????????????????????????
|?????????????????????                             |
????????????????????????????????????????????????????
Run Code Online (Sandbox Code Playgroud)

JSON对象用作ng-modelAngularJS中的元素.现在我想将它绑定completionPercent为AngularJS中元素的宽度.但CSS width期望一个String '42%',而不是一个数字.所以以下方法不起作用:

<div id="progressBackground" ... >
    <div id="progressBar"
         ng-model="..."
         ng-style="{ 'width': completionPercent }"
         ... ></div>
</div>
Run Code Online (Sandbox Code Playgroud)

目前,我通过在控制器中生成整个样式来实现此功能:

ng-style="getStyleFromCompletionPercent()"
Run Code Online (Sandbox Code Playgroud)

但这不是一个好主意,因为扩展它变得非常困难ng-style.还有另一种隐式指定宽度为百分比的方法吗?这样的事情是理想的:

ng-style="{ 'width-percentage': completionPercent }"
Run Code Online (Sandbox Code Playgroud)

javascript css data-binding json angularjs

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

承诺:重复操作直到成功?

我想重复执行一个操作,每次操作之间的超时时间增加,直到成功或经过一定的时间.我如何用Q中的承诺来构建它?

javascript promise q

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

Java 8流中的聚合运行时异常

假设我有一个抛出运行时异常的方法.我正在使用a Stream来对列表中的项目调用此方法.

class ABC {

    public void doStuff(MyObject myObj) {
        if (...) {
            throw new IllegalStateException("Fire! Fear! Foes! Awake!");
        }
        // do stuff...
    }

    public void doStuffOnList(List<MyObject> myObjs) {
        try {
            myObjs.stream().forEach(ABC:doStuff);
        } catch(AggregateRuntimeException??? are) {
            ...
        }             
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我希望处理列表中的所有项目,并将各个项目的任何运行时异常收集到最终将抛出的"聚合"运行时异常中.

在我的真实代码中,我正在进行第三方API调用,这可能会引发运行时异常.我想确保处理所有项目并在最后报告任何错误.

我可以想出一些方法来解决这个问题,例如map()捕获并返回异常的函数(..shudder ..).但有没有一种本地方式来做到这一点?如果没有,还有另一种方法可以干净利落地实施吗?

java exception-handling java-8 java-stream

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

仅在Git中导出/存档已更改的文件

有没有一种简单的方法可以从git中的给定提交或一系列提交中仅导出/存档已更改的文件?我似乎无法找到明确的指示(我是Linux/Git的新手).

我正在使用msysgit,并且在大多数情况下我可以部署整个存储库,但在许多情况下,一次部署一些文件的小修补程序要高效得多.

在远程服务器上推/拉/安装git实际上并不是一个选项,因为我的访问级别因项目和客户端而异.

是否有一种直接的方式(粗略猜测):

pipe 'diff --names-only' to 'git-archive'? 
Run Code Online (Sandbox Code Playgroud)

git export archive msysgit

10
推荐指数
1
解决办法
7203
查看次数

手动创建一个Git fork

如果我理解分叉,它在概念上涉及以下步骤:

  1. 镜像克隆源repo到目标repo
  2. 在目标仓库上设置"上游"远程,指向源仓库
  3. 其他一些东西,比如电子邮件订阅等(对这个问题不重要)

这是它的样子:

Original <??upstream??? Forked
(server)               (server)
                           ?
                           ?origin
                           ?
                        (local)
Run Code Online (Sandbox Code Playgroud)

与克隆的主要区别在于这些步骤是服务器端,而不是本地步骤.如何在git命令行上手动复制?

这是我到目前为止所做的:

  1. 将源代码库克隆到本地仓库
  2. 将"origin"遥控器更改为指向目标目标仓库
  3. 添加指向源仓库的"上游"远程

在这个阶段,我在本地仓库上设置了所有东西.我可以使用中间本地克隆同步原始和分叉存储库之间的更改.所以这就是我所拥有的:

Original                Forked
(server)               (server)
    ?                      ?
    ?                      ?origin
    ?                      ?
    ????????upstream??? (local)
Run Code Online (Sandbox Code Playgroud)

现在我如何将此链接推送到服务器,即将原始repo作为服务器端 forked repo 的上游远程,以匹配第一个图?

请注意,这个问题不是特定于GitHub的 - 我可能也想用BitBucket来做这个.理想情况下,我也应该可以跨站点执行此操作.我在这里已经阅读了很多类似的问题,但是没有明确的答案.

git github bitbucket git-fork

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

HTTP POST响应创建多个资源时的位置标头

HTTP/1.1标准规定,如果一个POST在创建一个资源的操作结果,那么该响应应该包括一个Location与新的资源的地址头部.

如果在源服务器上创建了资源,则响应应该是201(已创建)并包含描述请求状态的实体,并引用新资源和Location头(请参阅第14.30节).

在第14.30节,

对于201(已创建)响应,Location是请求创建的新资源的位置.

现在假设我的API允许POST通过将数组批量创建资源到集合资源URL.例如:

POST /books
[
    {
        "name": "The Colour of Magic",
        "published": "1983"
    },
    {
        "name": "The Light Fantastic",
        "published": "1986"
    }
]
Run Code Online (Sandbox Code Playgroud)

由于\book\{bookId}已经创建了两个资源,Location在这种情况下标题的值应该是多少?

Http在多个新资源创建后发布的问题是类似的,但它询问响应实体,而不是标题(并且没有答复).

rest http http-status-codes restful-url restful-architecture

9
推荐指数
2
解决办法
8310
查看次数

创建一个没有返回值的AngularJS promise

我正在使用$q遗留回调的承诺.但是,现有回调没有返回值.它需要一个没有参数的成功函数.

angular.module('MyModule').service('MyService', function() {
    function initialize() {
        var deferred = $q.defer();
        LegacyFactory.initialize(
            // 'void' Success Callback
            function () {
                deferred.resolve (/* WHAT DO I PUT HERE? */);
            },
            // Error Callback
            function (errorCode) {
                deferred.reject(errorCode);
            });
        return deferred.promise;
    }
});
Run Code Online (Sandbox Code Playgroud)

我在AngularJS文档中找不到一个void版本resolve.我可以返回一个虚拟值,但是客户端可能会访问该虚拟值,这会导致混淆.

如何创建没有返回值的AngularJS承诺?

注意:AngularJS承诺返回空对象的问题完全不同.那个问题确实会在resolve函数中返回一个值.

javascript angularjs angular-promise

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

Spring环境中的多个@ConfigurationProperties验证器bean

使用@ConfigurationProperties注释将属性注入bean时,Spring提供了定义自定义验证器以验证这些属性的功能.

ConfigurationPropertiesBindingPostProcessor查找使用固定bean的名字这个验证"configurationPropertiesValidator"和类org.springframework.validation.Validator.

现在假设我@ConfigurationProperties在模块A中有一个验证器.另一个模块B依赖于模块A.模块B也定义了自己@ConfigurationProperties的验证器和它自己的验证器.

当应用程序加载时,后处理器只会选择其中一个bean.这会禁用验证的其他部分.

这个问题有方法解决吗?如何在我的应用程序中启用两个配置属性验证器?

java validation spring

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

是否可以在Virtual Treeview中选择多个列?

我需要添加复制矩形选择的节点和列的功能,但我找不到任何方法来实际选择虚拟树视图中的多个列(在toFullRowSelect旁边).

我只是错过了一些东西吗?如果没有,是否有一个网格状多列选择支持的后代?

delphi virtualtreeview

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

初始化并清理TestNG中并行测试的每个测试数据

在将一些测试从JUnit迁移到TestNG时,我遇到了一个问题,因为这些测试框架如何处理它们的Test类实例.

JUnit为每个测试方法创建一个Test类的新实例.所以我看到的一个常见模式是:

public class MyTest {

    private Stream inputData;

    @Before
    public void setUp() {
        // Set up some data in (non-static) instance fields
        // This data is isolated per test
        inputData = createInputDataStream();
    }

    @Test
    public void testStuff() {
        // Use the data from the instance fields
        doStuff(inputData);
    }

    @After
    public void tearDown() {
        // Clean up the data from the instance fields
        closeInputDataStream(inputData);
    }
}
Run Code Online (Sandbox Code Playgroud)

相比之下,TestNG对所有测试方法使用Test类的单个实例.所以上面的模式不起作用!由于数据存储在实例字段中,因此不再隔离这些值.如果启用并行执行,这可能会导致覆盖数据中期测试.

那么我如何使用TestNG做到这一点?是否有存储将其分离出每个数据的方式@BeforeMethod- @Test- @AfterMethod元组?

我可以在@Test自己内部完成所有3个步骤,但这需要try...finally在每个测试中添加笨拙的块.我也试过使用ITestContext …

java junit testng unit-testing

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