Angularjs 表单控制器从其管理的表单中公开解析数据的最佳方法?

Angularjs 表单控制器从其管理的表单中公开解析数据的最佳方法?,angularjs,typescript,angularjs-controller,angularjs-forms,Angularjs,Typescript,Angularjs Controller,Angularjs Forms,我来自Java背景,正在学习Angular 1.5.8+类型脚本 我有一个表单控制器,它处理表单中的原始字段并生成数据结构。例如,它可能会做这样的事情:获取一个原始地址,将其解析为标准格式,然后查找纬度和经度 我试图找出向应用程序的其余部分公开已解释表单数据的最佳方法,并想看看其中一种是否是“可接受的”标准方法 我偏爱的方法是创建两个类,一个表示表单中完全解析的数据,另一个表示该数据的部分子集 对数据感兴趣的调用者将在我的控制器上调用GetCompletedData或GetCompletedDa

我来自Java背景,正在学习Angular 1.5.8+类型脚本

我有一个表单控制器,它处理表单中的原始字段并生成数据结构。例如,它可能会做这样的事情:获取一个原始地址,将其解析为标准格式,然后查找纬度和经度

我试图找出向应用程序的其余部分公开已解释表单数据的最佳方法,并想看看其中一种是否是“可接受的”标准方法

我偏爱的方法是创建两个类,一个表示表单中完全解析的数据,另一个表示该数据的部分子集

对数据感兴趣的调用者将在我的控制器上调用GetCompletedData或GetCompletedData,这取决于他们是想要实时查看还是完整数据(如果可用)。关于实际表单字段及其值的详细信息不会在控制器外部公开

我考虑这样做的另一种方法是向控制器添加一系列方法,用于访问处理后的每一位数据,每个方法都有一个可能的返回

方法1:

类MyFormController{
地址():可能={
如果(form.street.length>0){
just(新地址(form.street、form.city、form.state、findLatAndLong(…));
}else{nothing()}
}
street():string={theForm.street}
}
方法2:

class completedparseddata{
地址:地址;
名字:字符串;
也许吧;
lastName:string;
}
类不完全解析数据{

地址:我可能看不到将此迁移到代码审阅的方法。我应该再次提交问题吗?(我不希望因提交相同内容而被标记为2x。)我看不到将此迁移到代码审阅的方法。我应该再次提交问题吗?(我不希望因提交相同内容而被标记为2x。)
class MyFormController {
    address() : Maybe<Address> = {
         if (theForm.street.length > 0) {
            just(new Address(theForm.street, theForm.city, theForm.state, findLatAndLong(...)));
          } else { nothing() }
    }

    street() : string = { theForm.street}
}
class CompleteParsedData {
    address: Address;
    firstName: string;
    middleInitial: Maybe<string>;
    lastName: string;
}

class IncompleteParsedData {
    address: Maybe<Address;
    firstName: Maybe<string>;
    middleInitial: Maybe<string>;
    lastName: Maybe<string>;
}

class MyFormController {
   getParsedData: Try[CompleteParsedData]; //return complete parsed data or validation error explaining what's missing
   getIncompleteData: IncompleteParsedData; //return as much of the parsed data as we can infer from current raw data
}