Я оцениваю TypeScript, чтобы узнать, может ли это сэкономить время на разработку для моих требований. Допустим, я определяю простые классы, чтобы получить и установить скрытые поля с главной целью быть универсальными и работать с моделями MVC.Поведение модели TypeScript и Generic MVC
class BaseObject {
_Name: string;
constructor(public name) { this._Name = name; }
}
interface BaseForm {
SaveFields(): void;
GetFields(): void;
ToQueryString(): string;
ToJsonString(): string;
}
class BaseReportForm extends BaseObject implements BaseForm {
constructor(name) { super(name); }
public PageNumber: number;
public AllowPaging: bool;
public ExportLink: string;
...
SaveFields() {//WRITE HIDDEN FIELDS TO FORM }
GetFields() { //GET HIDDEN FIELDS FROM FORM}
ToQueryString() { return "Hidden Fields To Query String"; }
ToJsonString() { return "Hidden Fields To Json"; }
}
Все это прекрасно работает, однако я не вижу ничего, что позволило бы мне работать с @Models. Было бы неплохо иметь возможность иметь возможность волшебно сделать следующее:
var ReportForm=new ReportForm(@Model.Report);
Я знаю, что для достижения этой функциональности должно было бы быть другой перевод слой переводов. Существуют ли какие-либо инструменты, которые помогли бы, если бы она оказалась временной заставкой? Как и в ORM mapper или auto mapper, но будет работать с JS или TypeScript?