2016-05-25 2 views
0

Ich habe zwei Objekte. Ein Objekt ist {'id': 'abc', 'pwd': 'pwd1'} und B Objekt ist Array. B ist die Zeichenfolge einer Objekteigenschaft. so was. ['id', 'pwd']Verwenden Sie in Javascript das Objekt ['Eigenschaftszeichenfolge']. Wie kann ich das in AngularJS 2 tun?

Ich möchte bei ng2 Komponente Vorlage verwenden.

*ngFor(#str of B) 
    {{A[str]}} 

Aber das funktioniert nicht .. Wie kann ich wie JavaScript zu tun? ng2 verwendet die {{object.property}}.

Ich weiß nicht, wie man wie Javascript verwenden kann!

++ bearbeiten Abstimmung ..

template: '<tr *ngFor="#str of B"> 
    <th>{{str}}</th> 
    <td>{{A[str]}}</td> 
</tr>' 

export class @@{ 
    A = [{'id': '1', 'pwd': 'pwd1'}]; 
    b = ['id', 'pwd']; 
} 

ich so verwenden. aber das zeigt keine Werte. Wie kann ich ???

Antwort

0

Der folgende Code funktioniert für mich:

@Component({ 
    selector: 'my-app', 
    template: ` 
    <div *ngFor="let str of B"> 
     {{A[str]}} 
    </div> 
    ` 
}) 
export class App { 
    A = {'id': 'abc', 'pwd': 'pwd1'} 
    B = ['id', 'pwd']; 
} 

dieses plunkr Siehe: https://plnkr.co/edit/YqKzjS9UapEtmO2BKF4E?p=preview.

bearbeiten

Vorsicht Zecken verwenden zurück, wenn Sie eine Zeichenfolge auf mehreren Zeilen (und nicht einfache Anführungszeichen) definieren möchten. In Ihrem Fall für das Vorlagenattribut Ihrer Komponente.

+0

Was ???? Ich kann das nicht glauben ... warte mal ... Ich war schockiert. T-T – mago

+0

Bitte sehen Sie meine Stimme. Ich bearbeite das. – mago

+0

Achten Sie darauf, Back-Ticks zu verwenden, wenn Sie einen String auf mehreren Zeilen (und nicht in einfachen Anführungszeichen) definieren möchten. In Ihrem Fall für das Vorlagenattribut Ihrer Komponente. Ich habe meine Antwort mit diesem Kommentar aktualisiert ... –

Verwandte Themen