Вызов функции typescript в таблице html в теге без события щелчка

#html #angular #typescript

Вопрос:

Я хочу вызвать функцию, которая находится в файле typscript в моей таблице html в теге td между тегами span. Это сторона функции ts:

   importoWithIVA() {
let totconIva = 0;
if (this.movRighe.id !== null) {
  totconIva =
    this.movRighe.quantita *
    this.movRighe.prezzo *
    ((1 - this.movRighe.sconto1 / 100) * (1 - this.movRighe.sconto2 / 100) * (1 - this.movRighe.sconto3 / 100)) *
    (1   this.intCodiciIva.aliquotaIva);
}
return this.twoDecimal(totconIva);}
 

Со стороны html я должен вызвать эту функцию. Я попробовал использовать приведенный ниже код, но он не работает. Я новичок в angular, поэтому не знаю, правильно это или нет.

 'td><span>{{importoWithIVA()}}</span></td>'
 

Кто-нибудь может дать мне ответ? Заранее спасибо

Комментарии:

1. 1. добавьте больше кода 2. не вызывайте функцию в {{}}

2. Больше кода ts или html?

3. Вы должны добавить оба

4. не вызывайте функции внутри html для повышения производительности,

5. Я добавляю код mor.

Ответ №1:

Вам следует ознакомиться с основами angular и с тем, как это работает. Вы не можете вызвать подобную функцию в шаблоне. Что вы можете сделать, так это присвоить значение переменной в файле ts и вывести это значение в шаблон.

 let totconIva = 0;
if (this.movRighe.id !== null) {
  totconIva =
    this.movRighe.quantita *
    this.movRighe.prezzo *
    ((1 - this.movRighe.sconto1 / 100) * (1 - this.movRighe.sconto2 / 100) * (1 - this.movRighe.sconto3 / 100)) *
    (1   this.intCodiciIva.aliquotaIva);
}
this.myVariable = this.twoDecimal(totconIva); // here you assign a new value for a variable.
}

'td><span>{{this.myVariable}}</span></td>'
 

Поскольку у td меня есть подозрение, что вам нужно сделать это для нескольких строк, в этом случае вам нужен массив переменных, в котором вы вычисляете значение для каждой строки, а затем выводите содержимое переменной в *ngFor цикле.

Комментарии:

1. Спасибо вам за помощь. Ваша директива была полезной. В любом случае, да, у меня есть больше полей для заполнения результатом другой функции. Я написал только это, потому что я должен сделать то же самое для других полей.