角函数切换布尔值

时间:2018-09-02 19:28:17

标签: javascript angularjs function boolean

似乎我遇到了一个非常简单的问题,但似乎找不到解决方法。

我正在尝试将应用程序从原始JS转换为有角度的框架。以前,我的程序有一个对象数组,单击按钮会触发一个函数,该函数只会在一个对象的布尔值true或false之间切换。然后将滤除值为“ true”的对象,并在页面的下方显示。

该功能是...

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>

有关如何对该函数进行编码以使其能够执行我想要的操作的任何建议?还是我应该以一种完全不同的方式来处理这个问题?

感谢所有帮助!

埃文

1 个答案:

答案 0 :(得分:0)

在这里得到一些回应之后,大家都帮助我弄清楚了-我在Angular 6中进行编码,但没有意识到ng-repeat是来自AngularJS时代的。 Ang 6没有相同的过滤器功能,因此我需要弄清楚如何获得与所寻求的结果相同的结果。感谢您的所有输入!