2012-06-14 12 views
7

Ich habe noch keine App gebaut, aber ich bin verwirrt von der Dokumentation über Bind-Attr. Es sagt, dass Sie so etwas wie tun:Wie funktioniert bind-attr in ember.js?

App.LogoView = Ember.View.extend({ 
    logoUrl: 'http://www.mycorp.com/images/logo.png' 
}); 

Mit Vorlage:

<div id="logo"> 
    <img {{bind-attr =logoUrl}} alt="Logo" /> 
</div> 

Zur Herstellung:

<div id="logo"> 
    <img src="http://www.mycorp.com/images/logo.png" alt="Logo" /> 
</div> 

und in ähnlicher Weise:

App.AlertView = Ember.View.extend({ 
    priority: "p4", 
    isUrgent: true 
}); 

Mit einer Vorlage:

<div {{bind-attr =priority}}> 
    Warning! 
</div> 

Zur Herstellung:

<div class="p4"> 
    Warning! 
</div> 

Wie Ember weiß, es war das src Attribut im ersten Beispiel und ein class Attribut im zweiten Beispiel? Wenn ich hier nicht etwas verpasse, scheint das nicht wirklich möglich zu sein.

Antwort

14

Die Dokumentation scheint falsch zu sein. Das Ausführen des Codes als in der Dokumentation aufgeführt, bekomme ich folgende Fehlermeldung:

Uncaught Error: Parse error on line 4: 
... <img {{bind-attr =logoUrl}} alt="Lo 
-----------------------^ 
Expecting 'CLOSE', 'STRING', 'INTEGER', 'BOOLEAN', 'ID', 'SEP' 

den Code ausgeführt wird, wie würden Sie erwarten es schöne Werke zu suchen. Sie müssen das Attribut in Frage geben:

<div id="logo"> 
    <img {{bind-attr src=logoUrl}} alt="Logo"> 
</div> 

Hier ist ein working example (den Namen Attribut entfernen und in der Konsole für den Fehler suchen).

+0

OH! Ja das würde viel mehr Sinn machen. Ich frage mich, wen ich über Dokumentationsfehler benachrichtige. – brad

+0

Sie können die [GitHub-Issues-Seite] (https://github.com/emberjs/ember.js/issues) ausprobieren. –

+2

Die Quelldokumentation wurde bereits korrigiert. Die Website wurde einfach noch nicht aktualisiert. –