Спасибо за ваше терпение здесь, я только начинаю с TypeScript.Как правильно изменить тип переменной в TypeScript
Я работаю над угловым 2-м приложением, которое должно принимать текстовые входы, а затем выполнять кучу вычислений. Я (неправильно?) Предположил, что мне нужно будет сначала привязать входы к переменным типа «любого» в моей модели данных, а затем преобразовать эти переменные в числа, чтобы хруст числа. Я посмотрел вокруг, и не могу найти, как сделать это таким образом, что он не бросает это TS ошибка компилятора:
`src/calculator_service.ts(40,5): error TS2322: Type 'number' is not assignable to type 'string'.`
В моей CalculatorService, у меня есть эта функция:
/*
* Convert the object of strings recieved from the form into a clean object of integers
*/
n(model:ModelFields) {
// Clone it
this.numericModel = Object.assign({}, this.model);
for (var prop in this.numericModel) {
if (this.numericModel.hasOwnProperty(prop)) {
// strip off all non-numeric charactersklj
this.numericModel[prop] = this.numericModel[prop].replace(/\D/g,'');
// convert to Any typescript type
// this breaks the application, and still throws a compiler error. nope.
// this.numericModel[prop] = this.numericModel[prop]:Any;
// convert to Number type
// this gives a typescript console error, but seems to still compile...
// ignoring this for now in order to meet deadline
this.numericModel[prop] = +this.numericModel[prop];
}
}
return this.numericModel;
}
и определение ModelFields (спасибо Tarh!)
export class ModelFields {
constructor(
public fieldName: any,
public anotherField: any
)
{}
}
Любые идеи? Спасибо всем!
Что такое определение 'ModelFields' ? – Paleo
@Tarh 'экспорт класса ModelFields { конструктор ( общественного FIELDNAME: любые, общественности anotherField: любой ) {} }' – ryanrain