小编pac*_*age的帖子

在angularjs中显示动态选项菜单的最佳(最有效)方式

假设我们在UI中有很多项目.当用户单击某个项目时,UI应该显示一个弹出/拨号/覆盖元素,其中包含一些选项,操作等.

目前我看到两个选项:

  1. 复制每个项目的叠加元素并隐藏它,直到单击关联的项目.喜欢这个小提琴:http://jsfiddle.net/urPww/1/

    <div ng-show="currentItem"> showing options for: {{currentItem.name}} </div> <li ng-repeat="item in items" ng-click="showOptions(item)"> {{item.name}} </li>

  2. 放置叠加UI一次并跟踪最后点击的项目.演示:http://jsfiddle.net/aVnPT/5/

    <li ng-repeat="item in items" ng-click="showOptions(item)"> {{item.name}} <span ng-show="item.showingOptions"> <br/>showing options for: {{item.name}} </span> </li>

第一种解决方案效率不高.然而,除了第二个中单击的元素之外,我无法弄清楚如何显示叠加UI.有任何想法吗?

angularjs

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

在不折叠NULL值的情况下计算MySQL中的不同值

我有a两个字段的表:id(PK)和f.

考虑以下记录:

id | f
1  | NULL
2  | 'foo'
3  | 'bar'
4  | NULL
5  | 'foo'
6  | 'baz'
Run Code Online (Sandbox Code Playgroud)

我想检索并计算具有不同f值的所有记录,包括每条记录WHERE f IS NULL.根据此条件,查询应返回除#5之外的所有记录,因为相同的值已包含在集合中,总计数将为5.

我用来检索所有记录的查询如下所示:

SELECT CASE WHEN EXISTS (SELECT id FROM a a2 WHERE a2.f = a.f AND a.id < a2.id) THEN 1 END AS not_distinct FROM a HAVING not_distinct IS NULL

如果可以改进此查询,我欢迎任何反馈.无论如何,主要的问题是计数.显然添加一个COUNT(*)将无济于事,我完全失去了如何计算过滤后的记录.

mysql sql null count aggregate-functions

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

Angularjs:在服务器端更新失败后,在$ watch中恢复模型值

这是场景:

小提琴:

$scope.$watch('obj.value',function(val, oldVal) {
    if (val === oldVal) return;
    MyService.update($scope.obj, $scope.result).then(function(response){
        $scope.results.push(response);
    }, function(response) {
        $scope.obj.value = oldVal;
         $scope.results.push(response);
    });
});
Run Code Online (Sandbox Code Playgroud)

我设置了一个值的监视,并在它发生更改时将其更新为db.但是如果由于某种原因(连接问题,服务器错误,无效会话,权限不足,.etc)更新失败,我想将该值恢复到以前的版本.在小提琴中你可以看到如果选择"拒绝延迟"并尝试更改值会发生什么 - 它会启动失败请求,恢复值和$ watch触发器的infinte循环.

目前我正在范围上设置一个标志,表明请求已失败,下一个$ watch不应该调用该服务.但我正在寻找减少这种样板代码的方法.

当然,我总是可以使用其他一些方法通知范围,例如ng-change,但后来我失去了对旧值的引用.我可以在我的范围内保留参考,但这比当前情况更糟糕.

您有任何想法应该如何处理这些情况?基本上我正在寻找的是一种更新$ watch中的模型而不会触发更多$ watch的方法,如果可能的话.

angularjs angularjs-scope

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

对于VBA中的循环行为不端,而不是按照我想要的方式运行

我在这里做的是将存储为文本的字符串转换为整数.不幸的是,只是将格式从一般格式更改为数字格式并不能解决问题,而我之前所做的就是手动查找/替换每个单独的数字(即使用excel查找替换为0,1,2,3等)

我在下面的代码中遇到的问题是它只会替换一些数字,但不是全部.我甚至无法弄清楚它所做的设定模式.据我所知,for语句应该为每个"数字"值从0到9运行吗?那么为什么不替换所有字符串呢?

Dim Digit As Integer
Dim ReplacementRange As Range

Set ReplacementRange = Range("Table1[AR]")`

Digit = 0


For Digit = 0 To Digit = 9

    ReplacementRange.Replace What:=Digit, Replacement:=Digit, LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False         
    Digit = Digit + 1

Next
Run Code Online (Sandbox Code Playgroud)

excel vba

0
推荐指数
1
解决办法
252
查看次数

针对Catch部分功能的Nunit测试用例

public int ReturnFromDB(int input)
{
    try
    {
         return repositorymethod(input);
    }
    catch(RepositoryException ex)
    {
         Throw new ParticularException("some message",ex);
    }
}
Run Code Online (Sandbox Code Playgroud)

repositorymethod()使用select查询从db返回整数数据.

对于积极的情况,我可以断言返回值.但是这个方法在NCover中的代码覆盖率仍然是60%.

如何测试此方法的Catch部分?如何触发异常部分?即使我给出一个负值作为输入,返回0也不会触发异常.

c# nunit unit-testing ncover

0
推荐指数
1
解决办法
73
查看次数