Ich habe einen Typoskript-Controller mit einer Init-Methode unten. Ich bin in der Lage, alle gewünschten Daten in das Nachrichtenergebnis zu bekommen, was gut ist.Binding Daten zu einem Dropdown mit angularjs
init() {
this.accountLocationService.getAccountLocationCollection(this.customerNumber)
.success(messageresult => {
this.acctLocationCollection = messageresult;
//alert(this.acctLocationCollection.accountlocation[0].aliasName);
})
.error(error => {
alert(error);
});
}
Die acctLocationCollection kann unter allen Werten des aliasname in einem Drop-Down zu binden, hat zwei oder mehr Objekte und ich brauche. Wie kann ich das erreichen? Dies ist mein erstes AngularJs-Projekt.
<div id="acctDetail">
<p>Select an Account:</p>
<div class="selectAccount">
<select class="selAccounts" name="DeliverToCustomerNumber" ng-change="" id="DeliverToCustomerNumber"
ng-options="ac for ac in alc.acctLocationCollection.aliasName">
</select>
</div>
<div id="address">
<dl>
<dd class="acctName">{{alc.acctLocationCollection.DeliverToCompanyName}}</dd>
<dd class="acctNo">{{alc.acctLocationCollection.DeliverToCustomerNumber}}</dd>
</dl>
</div>
</div>
Daten sieht wie folgt in console.log
object
accountlocation:Array[2]
0:object
aliasName:"1234"
deliverToCustomerNumber: "25235"
1:object
aliasName:"2345"
deliverToCustomerNumber: "23523"
Nur ein Hinweis - da Sie verwenden Typoskript, die Sie nicht brauchen eine 'init() 'Funktion. Sie können einfach den TypeScript-Konstruktor verwenden. (Es sei denn, Sie rufen bereits 'init() 'von Ihrem Konstruktor) :) –
@BenBeck Noch besser, ab Angular 1.5.x können Sie' $ onInit() {} 'mitTypeScript verwenden und dann haben Sie nicht einmal um es von Ihrem Konstruktor aus aufzurufen. Es wird automatisch ausgelöst, wenn das Modul instanziiert wird. – Lex