2012-09-19 23 views
5

Sayfada zaten oluşturucu html görünümüne bir görünüm bağlama süslü bir yolu var mı?Html zaten oluşturucu için bir omurga görünümü bağlama

Örnek olarak sunucunuz tüm sayfanızı yükler html, daha sonra sayfayı yüklediğinizde render yöntemini kullanmadan bu html'nin üstüne görünümler yüklersiniz.

+0

Ne sorduğundan emin değilsiniz. JavaScript, istemci tarafı olduğundan, herhangi bir JS çerçevesi, sunucuya güvenmek zorunda kalmadan DOM öğelerini değiştirebilir (AJAX ile ilgili verileri yüklemek için servis kullanmıyorsanız). Tek sayfalık uygulamaların ardında yatan fikir budur - sunucu, tüm şablonları içeren bir html görünümü gönderir ve JavaScript, görünümleri oluşturur ve html'yi işler. Ne üzerinde çalıştığını biraz daha açıklayabilir misiniz? – PhillipKregg

cevap

10

Sana yapmaya çalıştığını düşündüğünü benzer bir şey yaptık: Burada

Fiddle olduğunu. Benim durumumda, mevcut formların üzerine Omurga işlevselliğini ekledim.

Mevcut HTML: İşte tam olmayan bir örnek

<div id="my-app"> 
    <form name="input" action="html_form_action.asp" method="get"> 
    Username: <input type="text" name="user" id="username" /> 
    <input type="submit" value="Submit" /> 
    </form> 
</div> 

Omurga:

var MyFormView = Backbone.View.extend({ 
    events: { 
    "submit form": "formHandler" 
    }, 
    formHandler: function(evt) { 
    evt.preventDefault(); 
    var nameVal = $('#username').val(); 
    this.$el.append('<p>hello: ' + nameVal + '</p>'); 
    } 
}); 

$().ready(function(){ 
    var myForm = new MyFormView({el: "#my-app"}); 
}); 

anahtar size görünüm oluşturmak "el" özelliği olarak mevcut html geçiyor.

0

Şu an üzerinde çalıştığınızdan tam olarak emin değilim, ancak sadece Backbone Views kullanan bir JSFiddle yaptım - endişelenecek Model veya Koleksiyonlar veya Router yok.

Bununla ilgili olarak oynayabilir ve ana sayfa görünümünün kapsayıcısına nasıl yükleneceğini görebilirsiniz. http://jsfiddle.net/phillipkregg/tVmTM/71/

1

Sana fantezi yöntemle ne demek emin değilim, ama görüşleriniz onların el için html kendilerini işlemek gerekmez. Sayfadaki mevcut bir öğeye kolayca bir görünüm ekleyebilir ve onu el adresine atayabilirsiniz. Görünümünüzün daha sonraki bir noktasında atamak istiyorsanız ("anahtarını anahtarını" el ") yapmak isterseniz, setElement yöntemini kullanabilirsiniz. setElement'u kullanarak, önbelleğe alınmış $el'u da oluşturacak ve herhangi bir ilişkili olay üzerinde hareket edecektir.