2012-06-14 12 views
7

Non ho ancora creato un'app, ma sono confuso dalla documentazione su bind-attr. Si dice che si può fare qualcosa di simile:Come funziona bind-attr in ember.js?

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

con un modello:

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

produrre:

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

e allo stesso modo:

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

Con un modello:

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

produrre:

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

Come si fa Ember so che era l'attributo src nel primo esempio e un attributo class nel secondo esempio? A meno che non manchi qualcosa qui, non sembra che sia davvero possibile.

risposta

14

La documentazione sembra essere errata. L'esecuzione del codice come indicato nella documentazione, ottengo il seguente errore:

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

L'esecuzione del codice di come ci si aspetterebbe a guardare belle opere. È necessario specificare l'attributo in questione:

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

Ecco un working example (togliere il nome dell'attributo e cercare l'errore nella console).

+0

OH! sì, avrebbe molto più senso. Mi chiedo chi posso informare sugli errori di documentazione. – brad

+0

Puoi provare la [pagina di problemi di GitHub] (https://github.com/emberjs/ember.js/issues). –

+2

La documentazione di origine è già stata risolta. Il sito web non è stato ancora aggiornato. –