che ho fatto qualcosa di simile a quello che penso che stai cercando di fare. Nel mio caso, ho aggiunto la funzionalità di Backbone sopra i moduli esistenti. Ecco un esempio di fascia bassa:
esistente HTML:
<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>
Backbone:
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"});
});
La chiave sta passando il codice HTML esistente come "el" proprietà quando si crea il tuo punto di vista.
Non proprio sicuro di quello che stai chiedendo. Poiché JavaScript è lato client, qualsiasi framework JS può modificare elementi DOM senza dover fare affidamento sul server (a meno che non si stiano utilizzando i servizi per caricare i dati relativi AJAX). Questa è l'idea alla base delle applicazioni a pagina singola: il server invia una vista html che contiene tutti i modelli e il JavaScript esegue il rendering delle viste e manipola l'html. Potresti descrivere un po 'più nello specifico su cosa stai lavorando? – PhillipKregg