Кажется, у меня довольно простая проблема, но я не могу найти решение.
Я пытаюсь преобразовать приложение из vanilla JS в угловой каркас. Ранее в моей программе был массив объектов, и нажатие кнопки вызывало функцию, которая просто переключала бы логическое значение одного объекта между истинным или ложным. Затем объекты со значением «истина» будут отфильтрованы и отображены ниже по странице.
Функция была ...
function addRepair(here, needed) {
possibleRepairs[here].isNeeded = needed;
var filteredArray = possibleRepairs.filter(ind => ind.isNeeded).map(ind => ind.area + " " + ind.repair).join("\<br\>");
document.getElementById('repairsGoHere').innerHTML = filteredArray;
}
У меня проблемы с воссозданием этого под углом. Я думаю, что я понял большую часть процесса, но я не знаю, как кодировать функцию, которая должна выполнять фактическое переключение. По сути, я не уверен, как получить доступ к созданному мною массиву и изменить логическое назначение.
До сих пор в Angular я создавал класс «ремонтные работы», а в своем файле app.component.ts я экспортировал список «ремонтных работ» в repairList, например, так: *
repairList = [
new repairs("Front wheel", "out of true",false),
new repairs("Front hub", "needs tightening", false),
...
];
В app.component.html я создал кнопку, которая должна выполнять переключение ...
<button type="button" onclick="addRepair('0', true);">Out of true</button>
которая вызывает функцию (которая, я знаю, была импортирована правильно) ...
function addRepair(here, needed) {
repairList[here].isNeeded = needed;
}
и далее на странице будут отображаться данные, как…
<div class="col-md-8" id="repairsGoHere" ng-repeat="inst in repairList | filter: {isNeeded:true}">
<p>{{ inst.area }}</p>
</div>
какой-нибудь совет о том, как кодировать функцию, чтобы она делала то, что мне нравится? Или я должен подойти к этому совершенно по-другому?
Спасибо за помощь!
Evan