2012-03-26 6 views
0

Wie kann ich laden oder instantiieren ein Kendo UI Grid mit Kendo UI Grid, Backbone.js, underscore.js und require.js Ist es möglich?mit Kendo Ui Grid auf Backbone, erfordern, Unterstreichung und Kendo

define([ 
'jquery', 
'underscore', 
'backbone', 
'text!templates/cart/cartlist.html' 
], function($, _, Backbone, CartListTemplate){ 

var mainHomeView = Backbone.View.extend({ 
el: $("#cartContainer"), 
render: function(){ 
    $("#grid").kendoGrid({ 
    columns: ["ItemDescription", "Qty", "Price", { command: "destroy" }], 
    }); 
    this.el.html(CartListTemplate); 
} 
}); 
return new mainHomeView; 
}); 

Und das

CartListView.render(); 

Aber es funktioniert nicht. Es erscheint nicht. Irgendwelche Ideen?

Antwort

1

Als allgemeine Referenz, ich einen Blog-Post über die Verwendung von jQuery Plugins mit Backbone schrieb, und erwähnen KendoUI mehrmals als meine bevorzugte Steuer suite:

http://lostechies.com/derickbailey/2012/02/20/using-jquery-plugins-and-ui-controls-with-backbone/

Ihre Frage speziell zu beantworten, haben Sie eine Fehler in der Rendermethode.

Wenn Sie $("#grid").kendoGrid(...); anrufen, sagen Sie jQuery, nach dem #grid Element im DOM der Seite zu suchen, aber das existiert noch nicht, weil es von Ihrem CartListTemplate kommt. Sie müssen this.$ verwenden, um die #grid im HTML Ihrer Ansicht zu finden, nachdem Sie die el.html der Ansicht festgelegt haben.


render: function(){ 
    this.$el.html(CartListTemplate); 
    this.$("#grid").kendoGrid(...); 
} 
+0

erstaunlicher Typ. Vielen Dank – jongbanaag