我们有一个具有动态构建形式的组件.使用验证器添加控件的代码可能如下所示
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)
但目前尚不清楚如何添加新的或自定义验证器.
谢谢一堆.
我们要测试服务方法的返回类型。假设 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)。
谢谢。米
在提出问题之前,我担心的是,如果列表本身设置为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)