小编Ram*_*ran的帖子

三元运算符,Elvis运算符,安全导航运算符和逻辑OR运算符的比较

与三元运算符与Elvis运算符与安全导航运算符与逻辑运算符或角运算符的比较


三元运算符(声明?obj:obj)

let gender = user.male ? "male" : "female";
Run Code Online (Sandbox Code Playgroud)

猫王运营商(?:)

let displayName = user.name ?: "";
Run Code Online (Sandbox Code Playgroud)

安全导航操作员(?.)

let displayName = user.name ?. "";
Run Code Online (Sandbox Code Playgroud)

逻辑或运营商

let displayName = user.name || "";
Run Code Online (Sandbox Code Playgroud)

以上所有运营商都在做同样的过程.有什么不同的好处,哪个最好和最差?

operators typescript angular

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

任何和任何[]有什么区别?

任何和任何[]有什么区别?


示例1(按预期工作)

name1: any;
name2: any[];
this.name1 = this.name2;
Run Code Online (Sandbox Code Playgroud)

示例2(这也按预期工作)

name1: any;
name2: any[];
this.name2 = this.name1;
Run Code Online (Sandbox Code Playgroud)

为什么打字机允许any数据类型可以访问any[]数据类型.与any[]数据类型一样可以访问数据类型any吗?和哪一个是最好用?并且如果数据类型仅仅是一个物体(未阵列)等string or number or object or any,那么为什么any[ ]将接受该对象类型,而不显示任何运行时或编译时错误?.


arrays types any typescript angular

13
推荐指数
2
解决办法
1013
查看次数

moment.toString()和moment.toISOString()之间的区别

我有阅读moment.js文档,有一个moment.toISOString()函数可以帮助将字符串格式化为ISO8601标准.

Also there have a another one reason for why we use moment.toISOString()

moment.toISOString() 出于性能原因使用功能.

我不知道toISOString()性能最好moment.toString().但只有结果是使用moment.toString()和时的差异moment.toISOString().


所以我的问题是.

  • 我们为什么要用 moment.toISOString()?出于性能原因?

  • 和之间有什么区别moment.toISOString()moment.toString()

javascript momentjs

12
推荐指数
1
解决办法
9971
查看次数

URL 和 LINK 之间有什么区别?

人们谈论URLLINK好像它们是不同的东西,但它们在肉眼看来是一样的。

它们之间有什么区别?

browser url terminology hyperlink

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

LINQ to Entities无法识别该方法,并且此方法无法转换为存储表达式

我使用实体框架工作在我的数据库中调用了一些日期.但我的下面的代码给出了这个错误

LINQ to Entities无法识别方法'SchoolBreifcase.Compliance get_Item(Int32)'方法,并且此方法无法转换为商店表达式.

这是我的完整代码

FinancialCompliance financialCompliance = new FinancialCompliance();
            List<Compliance> compliance = null;
            if (HttpContext.Current.User.IsInRole("SchoolAdmin"))
            {

                compliance = datamodel.Compliances.Where(u => u.UserId == userId).OrderBy(c => c.AddedDate).ToList();

            }
            if (HttpContext.Current.User.IsInRole("User"))
            {
                compliance = datamodel.Compliances.Where(u => u.VerifierId == userId || u.OwnerId == userId).OrderBy(c => c.AddedDate).ToList();
            }
            if (compliance != null)
            {
                for (int i = 1; i < compliance.Count; i++)
                {
                    financialCompliance = datamodel.FinancialCompliances.Where(f => f.ComplianceId == compliance[i].ComplianceId).SingleOrDefault();
                    if (compliance.Count == i)
                    {
                        return financialCompliance;
                    }
                }
            }
            return financialCompliance;
        } …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc linq-to-entities entity-framework

10
推荐指数
2
解决办法
9959
查看次数

global.asax和global.asax.cs之间有什么区别

告诉我global.asax和global.asax.cs之间的区别?

如果我在我的解决方案资源管理器中单击这两个文件,它只会转到服务器(asax.cs)方面,为什么以及如何?我可以看到客户端(global.asax)页面吗?

c# asp.net asp.net-mvc

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

如何停止array.filter()函数

使用自定义搜索过滤器

HTML

 <input type="text" pInputText class="ui-widget ui-text" [(ngModel)]
 ="gloablFilterValue" (ngModelChange)="splitCustomFilter()" placeholder="Find" />
Run Code Online (Sandbox Code Playgroud)

ngModelChange()在搜索框上使用事件


globalSearch(realData, searchText, columns) {
        searchText = searchText.toLowerCase();
        return realData.filter(function (o) {
            return columns.some(function (k) {
                return o[k].toString().toLowerCase().indexOf(searchText) !== -1;
            });
        });
    }

    splitCustomFilter() {
    let columns =  
   ['PartNoCompleteWheel', 'DescriptionCompleteWheel', 'PartNoTyre', 'DescriptionTyre', 'PartNoRim', 'DescriptionRim','DeletedDateFromKDPStr', 'DateFromKDPStr', 'Status'];
   this.tyreAndRimList = this.globalSearch(this.tyreAndRimList, this.gloablFilterValue, columns); 
    }
Run Code Online (Sandbox Code Playgroud)

this.tyreAndRimList值的,其是在所述的列列表column变量.

问题

过滤器工作正常!但主要问题是过滤器性能非常差,而记录数量很大(每列超过100行)

什么时候

如果输入单个字符(如a),过滤器工作正常.但是当我不断地输入字符时,浏览器就会挂起.原因是过滤器已经在过滤器盒上每次打字都被解雇(因为我正在使用ngModelChange()// onchange()事件)

我想要的是

如果用户在搜索框上连续输入,我想停止过滤.一旦用户停止输入,那么我只需要开始过滤.

我做了什么

我试图通过使用来处理这个问题setTimeout().但它只是等待过滤器调用一秒钟.如果用户连续输入2或3个字符,则可以正常工作.但是如果用户键入超过7或8或更高的字符,它将继续挂起浏览器.因为许多过滤器回调都在同一时间进行处理.

 setTimeout(() => //code of …
Run Code Online (Sandbox Code Playgroud)

javascript arrays typescript angular

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

单元测试中未采用 else 路径

我正在研究角度 6

我在下面的代码中没有任何 else 语句。但是由于没有采用 else 路径,我无法覆盖分支。在这种情况下,我需要做什么才能获得 100% 的分支覆盖率?

 getHeaderDocumentList(documents: any) {
            if (documents) {
                documents.result.docAttachment.forEach(element => {
                    this.headerdocumentdetails.push(element.DocumentUniqueID);
                });
            }
        }
Run Code Online (Sandbox Code Playgroud)

unit-testing jasmine typescript karma-coverage angular

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

在javascript中停止时间间隔

目前我正在使用角度js

我有一个get方法从default.html页面的服务器端获取数据

function bindActiveLoans() {
            $http.get(rootUrlSingleEscaped + '/cooperativa/allunfundedloans/?authId=' + userInfo.UserId)
                 .success(function (response) {
                     if (response.Loans.length == 0) {
                         $scope.IsValues = false;
                         $scope.$apply();
                         return true;
                     }
                     $scope.IsValues = true;
                     $scope.unfundedLoans = response;
                 });
        };

        setInterval(function () {
            $scope.$apply(bindActiveLoans());
        }, 5000);
Run Code Online (Sandbox Code Playgroud)

上述功能有助于每5秒调用服务器端方法.这对我来说非常有用.

但我有一个问题.我有更多的页面,页面是

  • default2.html,default3.html,default4.html,default5.html.

    如果我运行我的default.html页面,计时器每5秒运行一次,那么我将转到另一页,此时该计时器正在运行.我想只显示默认页面上运行的计时器.如果我转到另一页,那么计时器应该停止???

你知道吗?

当我转到另一个页面(default2.html,default3.html,default4.html,default5.html)页面时,如何在默认页面中停止计时器?

我想在默认页面中使用clearInterval

javascript setinterval angularjs

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

为什么TypeScript接受一个值作为数据类型?

为什么TypeScript接受一个值作为数据类型?

以下这些方案是接受和不可接受的声明.

export class MyComponent{
        error: 'test' = 'test'; // accept
        error: 'test' = 'test1'; // not accept
        error: Boolean = true || false; // accept
        error: true | false = true; // not accept
        error: true = true; // accept
        error: true = false; // not accept
        error: Boolean; //accept
        error: true; // accept
        error: 1 = 1;   //accept
        error: 1 = 2; // not accept
    }
Run Code Online (Sandbox Code Playgroud)
  • 为什么TypeScript允许将值作为数据类型?
  • JavaScript如何在编译时处理这些?
  • readonlyconstant?有什么不同?

readonly error= 'test';error: …

variables types typescript typescript-typings angular

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