Hier ist mein Code:Angular Javascript Methode find
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
myApp.controller('MyCtrl', ['$scope', MyCtrl]);
function MyCtrl($scope) {
$scope.name = 'Superhero';
$scope.names = [
{
"name": "AAAAAA",
"down": "False"
},
{
"name": "BBBBBB",
"down": "45%"
},
{
"name": "CCCCC",
"down": "12%"
}
];
$scope.datas = [
{
"data": "AAAAAA/45%"
}
];
$scope.getTheRightData = data => $scope.datas.map(d=>d.data.split('/')[0]).find(d=>d===data);
}
HTML
<div ng-controller="MyCtrl">
<table>
<tbody>
<tr ng-repeat="name in names">
<td>{{name.name}}</td>
<td>{{name.down}}</td>
<td ng-bind="getTheRightData(name.name)"></td>
</tr>
</tbody>
</table>
Was ich tun: ein Element aus $scope.datas
wird in $scope.names
ein Element passen, aber es zeigt nur, wenn name.name
die gleiche ist . Ich brauche, wenn name.name
und name.down
ist das gleiche, so etwas wie diese: <td ng-bind="getTheRightData(name.name,name.down)"></td>
, und in der Steuerung
$scope.getTheRightData = data => $scope.datas.map(d=>d.data.split('/')[0][1]).find(d=>d===data);
}
, aber es nicht funktionieren. Danke für Antworten und Ideen für den Fortschritt!
Da die beiden Arrays erwarten Sie nur das erste Element auf Last zu zeigen, oder erwarten Sie, dass der 3. 'td' nur es wird ausgefüllt, wenn ein Spiel ist? –