0
Вот мой код:Угловой Javascript метод находка
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>
Что я делаю: один элемент из $scope.datas
будет соответствовать элементу в $scope.names
, но это только показывает, когда name.name
одно и то же , Мне нужно, когда name.name
и name.down
это то же самое, что-то вроде этого: <td ng-bind="getTheRightData(name.name,name.down)"></td>
, и контроллер
$scope.getTheRightData = data => $scope.datas.map(d=>d.data.split('/')[0][1]).find(d=>d===data);
}
, но не работают. Спасибо за ответы и идеи для продвижения!
Учитывая два массива вы ожидаете только первый элемент, чтобы показать на нагрузку или вы ожидаете, что третий 'td' только заполняется, когда это имеет матч? –