Winkel-Richtlinie bewertet Nicht Innerhalb von ng-repeat

Habe ich Folgendes setup:

App/Richtlinie

var app = angular.module("MyApp", []);

app.directive("adminRosterItem", function () {
    return {
        restrict: "E",
        scope: {
            displayText: "@"
        },
        template: "<td>{{ displayText }}</td>", //should I have this?
        link: function(scope, element, attrs){
            //What do I put here? I don't seem to have any
            //element to initialize (set up event handlers, for example)
        },
        compile: function(?,?,?){} //should I have this? If so, what goes inside?
    }
});

Controller

function PositionsController($scope) {
           $scope.positions = [{ Name: "Quarterback", Code: "QB" },
                               { Name: "Wide Receiver", Code: "WR" }
                              ]; 
}

HTML:

<div ng-app="MyApp">
    <div ng-controller="PositionsController">            
        <table>
            <tr ng-repeat="position in positions">
                <admin-roster-item displayText="{{ position.Name + ' (' + position.Code + ')' }}"></admin-roster-item>
             </tr>
         </table>       
    </div>
</div>

Es ist ein sehr einfaches Beispiel, aber ich kann es nicht mehr zu machen. Vielleicht gibt es etwas, dass tutorials nicht mir zu sagen, oder, die geheimen Winkel wissen?

Wenn ich entfernen Sie die Richtlinie innerhalb der <tr ng-repeat="..." /> und Ort <td>{{ displayText }}</td> statt, es werden alle Datensätze anzeigen.

Aber ich will, dass die Richtlinie komplizierter als nur eine einzige <td>{{}}</td> (irgendwann), so dass ich Sie wiederverwenden konnte dieser Richtlinie in mehreren apps.

So, ich bin wirklich Fragen, wie wir richtig erstellen Sie eine Richtlinie, die nach innen ng-repeat? Was bin ich? Was sollten abgenommen werden, aus dem obigen code?

Es ist ein Problem in AngularJS - tracker über diese: github.com/angular/angular.js/issues/1459

InformationsquelleAutor Mickael Caruso | 2013-04-02

Schreibe einen Kommentar