2016-08-09 28 views
1

Ich versuche, eine Drop-Down mit $sce.trustAsHtml() Funktion dynamisch hinzuzufügen, aber ich bekomme eine leere Liste in der Benutzeroberfläche. Hier ist der Code:Dropdown-Befehl mit angularJS Controller generieren

$scope.addRowtrain = function() { 
    $scope.locomotivesList = [{"name": "loco1", "value":"1"}, {"name": "loco2", "value":"2"}]; 
    tableData[id] = $sce.trustAsHtml('CTRun'+counter++);  
    tableData[type] = $sce.trustAsHtml("<select data-ng-model='selectedLoco' data-ng-options='loco.name for loco in locomotivesList'></select>"); 
} 

Im HTML, möchte ich es als Tisch machen:

<table> 
    <tbody> 
    <tr ng-repeat="data in tableData track by $index"> 
     <td ng-repeat="(k, p) in data track by $index"><span ng-bind-html=p>{{p}}</span></td> 
    </tr> 
    </tbody> 
<a class="btn btn-danger" ng-click="addRowtrain()">Add Run</a> 
... 
</table 

aber es ist eine leere Tabelle angezeigt wird, bitte helfen

+0

Sollte nicht 'tableData' arbeiten:' $ scope.tableData'? – m0ngr31

+0

oh sorry ich habe die Zeile verpasst, tableData ist ein Objekt, danach erstelle ich ein Array als $ scope.tableData.push (tableData); – LIQvID

Antwort

0

Sie hinzufügen, es dynamisch dürfen Sie keine Bindungswerte übergeben, sondern das Complete JSON-Objekt übergeben.

Es ist mit this example

md-select in Winkelmaterial

+0

Wie übergebe ich das komplette Json Objekt, kannst du mir ein Beispiel geben? – LIQvID

+0

Versuchen Sie in das obige Beispiel zu schauen, es hat alles drin –