Zagadnienie wierszy tabeli Angular Directive
Jestem początkującym programistą kątowym, ale jestem naprawdę bliski zrozumienia dyrektyw.
Tworzębawić się tutaj, ale nigdy wcześniej nie używałam skrzypiec, a to nie jest do końca ...
wiersz tr jest dyrektywą. Próbuję przepuścić dane i wydrukować dyrektywę (wiersz) na rekord. HTML:
<table ng-controller="fiddleCtrl">
<thead>
<th>id</th>
<th>name</th>
<th>description</th>
</thead>
<tbody>
<tr><tr-row ng-repeat="d in data" scdata="d"></tr-row></tr>
</tbody>
</table>
javascript:
var myapp = angular.module('myApp', [])
.controller('fiddleCtrl', ['$scope', function ($scope) {
$scope.data = [
{ id: 1, name: 'Fred', description: 'not the best worker' },
{ id: 2, name: 'Wilma', description: 'Freds Wife'},
{ id: 3, name: 'Barney', description: 'Freds best friend'},
{ id: 4, name: 'Louise', description: 'Never heard of Fred'},
{ id: 5, name: 'Tracy', description: 'Some Chick'},
{ id: 6, name: 'Foo', description: 'Inventer of bar'}
];
}]).directive('trRow', function ($compile) {
return {
restrict: "E",
replace: true,
link: function (scope, element, attrs) {
scope.id = scope.d.id;
scope.name = scope.d.name;
scope.desc = scope.d.description;
var tmpl = '<tr ><td>{{id}}</td><td><strong>{{name}}</strong></td><td>{{desc}}</td></tr>';
element.html(tmpl).show();
//var e =$compile(tmpl)(scope);
//element.replaceWith(e);
var e = $compile(element.contents())(scope);
},
scope: {
d: "="
}
};
});
powinno być łatwe. (westchnienie)
każda pomoc byłaby doceniana, NAPRAWDĘ muszę to zrozumieć.
W moim kodzie dzieje się, że dyrektywa tr-row zastępuje tabelę. Dostaję ich listę (z tr INSIDE elementu tr-row, ale nie ma tabeli, w której można by je wyświetlić. Wiem, że to znaczy, że jestem blisko, ale nie mogę wymyślić żadnych nowych kombinacji, aby spróbować).
Potrzebuję tylko prostej tabeli z wierszami.
Przepraszam, jeśli zostało to zadane milion razy, wydaje mi się, że nie jestem pewien, czego szukać. Próbowałem tak wielu rzeczy.