小编mel*_*ant的帖子

Angular如何在创建控件后将Validator添加到FormControl?

我们有一个具有动态构建形式的组件.使用验证器添加控件的代码可能如下所示

var c = new FormControl('', Validators.required);
Run Code Online (Sandbox Code Playgroud)

但是,让我们说我想稍后添加第二个Validator .我们怎样才能做到这一点?我们无法在线找到任何相关文档.我确实发现虽然在表单控件中有setValidators

this.form.controls["firstName"].setValidators 
Run Code Online (Sandbox Code Playgroud)

但目前尚不清楚如何添加新的或自定义验证器.

谢谢一堆.

forms angular angular-reactive-forms

60
推荐指数
6
解决办法
5万
查看次数

如何在 Angular 2 Jasmine 中测试模型类型

我们要测试服务方法的返回类型。假设 GetItems() 返回一个 Items 数组。

我们无法弄清楚如何对此进行测试。如果我们这样做:

expect(service.getNavItems()).toEqual(jasmine.any(Array));
Run Code Online (Sandbox Code Playgroud)

它过去了……但是如果我们这样做

expect(service.getNavItems()).toEqual(jasmine.any(Item[]));
Run Code Online (Sandbox Code Playgroud)

必须有一种简单的方法来测试返回类型(不是内置的,例如 Number 或 Array)。

谢谢。米

jasmine angular

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

将List <T>设置为Null的最佳实践

在提出问题之前,我担心的是,如果列表本身设置为null,则列表中的项不会设置为null ...因此会留下一些不干净的引用。

假设我有一个简单的人员清单

public class Person
{
  string Name {get;set;}
  string Title {get;set;}
  int ID {get;set;}
};
Run Code Online (Sandbox Code Playgroud)

现在我以某种方式填充该列表

public List<Person> GetMeSomePeople()
{
   Person newPersonA = new Person
   {
     Name = "Michael",
     Title = "C# Code Guy",
     ID = 1
   };
   //... add more people

   List<Person> People = new List<Person>();
   People.Add(newPersonA);
   //...add more people to list

   return People;
}
Run Code Online (Sandbox Code Playgroud)

这是一个问题...现在我要取消此列表。

最佳实践是遍历列表并将每个对象设置为null吗?

还是清楚?

People.Clear();
Run Code Online (Sandbox Code Playgroud)

或者只是将列表设置为空

People = null;
Run Code Online (Sandbox Code Playgroud)

最后,如果您有某种方法可以重新填充该列表...在执行此操作之前,应该正确将列表无效吗?

//Already populated People with 2 Person
People = GetMeSomeMorePeople();
Run Code Online (Sandbox Code Playgroud)

c# list

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

标签 统计

angular ×2

angular-reactive-forms ×1

c# ×1

forms ×1

jasmine ×1

list ×1