2016-06-01 9 views
0

Ich habe eine AngularJs HTML-Vorlage, die Vorlage zeigt jedoch keine der <td> Tags sind aufgefüllt. Ich frage mich, wie ich meine Komponenten JSON-Objekt an die Vorlage übergeben.Wie Daten an AngularJs übergeben werden HTML-Vorlage

<div> 
    <h4>Alert</h4> 
    <table class="table"> 
     <tr> 
      <th>Type</th> 
      <td>{{component.type}}</td> 
     </tr> 
     <tr> 
      <th>Alert</th> 
      <td>{{component.alert}}</td> 
     </tr> 
    </table> 
</div> 

Ich bin auf der Suche nach Daten zu dieser Vorlage, aber ich habe Probleme dabei.

data: $scope.component verursacht das Problem.

$scope.components = 
    [ 
    {type: "Mobilizer", alert:"mobilizer2 went down", status: "Down"}, 
    {type: "Dispacther", alert:"message rate is, status: "Problem"}, 
    {type: "Listener", alert:"No Alert", status: "Up"}, 
    {type: "OutBound Charge", alert:"No Alert", status: "Up"} 
]; 

    $scope.openDialog = function(component) { 
      ngDialog.open({ 
       templateUrl: 'handlebars/alert-template.html', 
       data: $scope.component 
      }); 
     }; 
    }) 

Meine AngularJS Ansicht, die die Funktion aufruft:

<tr ng-repeat="component in components | orderBy:'status'" ng-click="openDialog(component)"> 
    <td>{{component.type}}</td> 
    <td ng-if="component.status == 'Up'" class="alert-success">{{component.status}}</td> 
    <td ng-if="component.status == 'Problem'" class="alert-warning">{{component.status}}</td> 
    <td ng-if="component.status == 'Down'" class="alert-danger">{{component.status}}</td> 
    </tr> 
+0

Sie zeigen nicht alle Ihre HTML, also werde ich einen Stich im Dunkeln machen. Haben Sie den Controller ordnungsgemäß mit dem ng-controller-Attribut verknüpft? – jbrown

Antwort

0
$scope.component = component; 
     ngDialog.open({ 
      template: 'handlebars/alert-template.html', 
      scope: $scope 

ich den Umfang in meiner Funktion zuweisen hatte.