2016-02-24 2 views
4

У меня есть метод, который получает параметры, и в этом методе есть вычисления, которые изменяют значение параметров. При возврате из метода параметры продолжают использовать другие методы для большего количества вычислений.typescript есть способ передать параметр методу по ссылке?

Есть ли способ передать параметр методу по ссылке или единственный способ - присоединить параметры к объекту и вернуть их?

+1

Возможный дубликат [Как я должен включать выходные параметры в функции с машинопись] (http://stackoverflow.com/questions/14115278/how-do-i-include-output-parameters-in-a-function-with -criptcript) – Eiver

+0

Я просто передал бы их как объект. Это легко рассуждать, и люди, которые прочтут ваш код, поймут это. :) –

+0

Eiver благодарит вас за ответ, я видел этот вопрос, поэтому нет способа пройти по ref.the только в TS - вернуть объект. –

ответ

7

С JavaScript и TypeScript вы можете передать объект по ссылке - но не по ссылке. Поэтому вставьте свои значения в объект.

Таким образом, вместо:

function foo(value1: number, value2: number) { 
    value1++; 
    value2++; 
} 

Do:

function foo(model: {property1: number; property2: number}) { 
    model.property1++; 
    model.property2++; 

    // Not needed but 
    // considered good practice. 
    return model; 
} 
+1

как вы называете такую ​​функцию для воздействия на фактический параметр вызова v1, v2? Это так: this.foo ({property1: v1, property2: v2}); ? Спасибо. – Marie

+0

@marie может, вам нужно будет определить объект и обратиться к членам этого объекта, который будет обновляться по ссылке. – Martin

Смежные вопросы