2012-06-14 17 views
7

Nie mam jeszcze zbudowanej aplikacji, ale jestem zdezorientowany przez dokumentację na bind-attr. Mówi, można zrobić coś takiego:Jak działa bind-attr w ember.js?

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

z szablonem:

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

aby wprowadzić:

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

i podobnie:

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

Z szablonem:

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

Aby wyprodukować:

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

Jak Ember wiedzieć, że to atrybut src w pierwszym przykładzie i atrybut w drugim przykładzie class? Chyba że czegoś tu nie ma, to nie wygląda na to, że jest to naprawdę możliwe.

Odpowiedz

14

Dokumentacja wygląda na niepoprawną. Uruchamianie kodu wymienionych w docs, pojawia się następujący błąd:

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

uruchomiony kod, jak można oczekiwaćto patrzeć działa dobrze. Trzeba określić atrybut w pytaniu:

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

Oto working example (usunąć nazwę atrybutu i szukać błędu w konsoli).

+0

OH! tak, miałoby to więcej sensu. Zastanawiam się, kogo powiadamiałem o błędach dokumentacji. – brad

+0

Możesz spróbować [strony z zagadnieniami GitHub] (https://github.com/emberjs/ember.js/issues). –

+2

Dokumentacja źródłowa została już naprawiona. Strona internetowa nie została jeszcze zaktualizowana. –