#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. Спасибо вам за помощь. Ваша директива была полезной. В любом случае, да, у меня есть больше полей для заполнения результатом другой функции. Я написал только это, потому что я должен сделать то же самое для других полей.