2016-10-25 4 views
0

Ich habe ein Szenario, in dem ich die Seite mit einem bereits aktivierten Kontrollkästchen lade. In der Last des Controllers mache ich einen Aufruf an eine Web-API, um den Inhalt des Web-API-Aufrufs in eine Tabelle zu laden.AngluarJS Checkbox wird deaktiviert

Das Problem ist, nach dem Web-API-Anruf passiert, verliere ich die Tatsache, dass mein Kontrollkästchen aktiviert ist. Ich bin mir nicht sicher, was das Problem ist. Ich habe ein kleines Beispiel dafür in einem Plunk erstellt, und es passiert dort.

Plunker: https://plnkr.co/edit/J82bvl338fdtKLkW5reu?p=info

 var Url = "https://api.wunderground.com/auto/wui/geo/GeoLookupXML/index.xml?query=90210"; 
    self.$http.get(Url, this.requestConfig).success(function(data, status, headers, config) { 
    console.log('success', data); 
    }).error(function(data, status, headers, config) { 
    // log error 
    console.log('error', data); 
    }); 

Was soll passieren ist das Kontrollkästchen aktiviert bleiben, nachdem die HTTP GET passiert.

ich den Controller, wie Syntax verwenden, und frag mich, ob ich etwas in diesem Szenario am fehlt ...

Antwort

1

in der HTML-Datei, wenn Sie die init das chk Mitglied können Sie diese verwenden:

<input type="checkbox" id="chk" name="chk" ng-model="chk" ng-init="chk = 'true'" checked/> 

Sie verwenden einfache Anführungszeichen für den Wert true. Entfernen Sie sie, und Sie sollten in Ordnung sein:

<input type="checkbox" id="chk" name="chk" ng-model="chk" ng-init="chk = true" checked/> 
+0

Das funktionierte perfekt, ich wünschte, würde ich eine Konsole Notiz von Winkel bekommen haben –

+0

@JasonZimmer Ja, ich weiß, diese Art von Fehlern schwer zu erkennen sind, vielleicht wäre es besser, um Ihre Mitglieder im Controller zu initialisieren statt inline und das macht es ein bisschen einfacher, nicht perfekt, aber besser Debuggen mindestens –

Verwandte Themen