Ich versuche, eine kleine Anwendung mit Knockout, erfordern, Unterstreichung zu bauen.knockout mit requirejs und Unterstreichung, um externe Vorlagen zu erhalten
Ich habe meine Index-Seite, wo ich in rufen Sie benötigen und es verweist auf eine main.js waren i meine Config halten
require.config({
paths: {
jquery: 'vendor/jqm/jquery_1.7_min',
knockout: 'vendor/knockout/knockout-2.2.0',
underscore : 'vendor/underscore/underscore_amd',
text: 'vendor/require/text',
templates: '../templates'
}
});
define(['app'], function(app) {
});
den Rest meines Index keinen Körper hat. also, wenn dies geladen ist ruft es app.js
define(['jquery','knockout', 'appViewModel'],
function($, ko, appViewModel)
{
ko.applyBindings(new appViewModel());
});
das sollte dann AppViewModel aufrufen, die in Ordnung funktioniert. Dies ist, wo ich ein bisschen verwirrt, wie ich dann in einer Vorlage von appViewModel
laden wollen, so stecken Ich versuche, so etwas wie dieses
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {
//call and load in template
});
dies zu tun, wo ich etwas bekomme ich kennen zum Beispiel Rückgrat I
template:_.template(homeViewTemplate)
aber ich bin wirklich nicht sicher, der beste Weg, um eine Vorlage zu laden hier in
ich ausgesehen habe bei https://github.com/ifandelse/Knockout.js-External-Template-Engine verwenden könnte, aber diese funktioniert nicht sehr gut mit erfordern und wenn Sie es ohne erfordern und nur etwas Text in eine HTML-Datei und rufen Sie das, wenn ich jQuery mobile es nicht hinzufügen die Klassen etc.
Ich fragte mich, ob jemand mich in zeigen könnte die richtige Richtung .. ich glaube, ich wirklich zu arbeiten, ich versuche, was Code hier setzen in
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {
//call and load in template
});
im homeviewtemplate zu nennen.
dank
Sehr interessanter Artikel. Es wäre großartig, wenn Sie ein Codebeispiel auf github setzen könnten. – Dan
Ich versuche, dies mit jQueryMobile auch zu verwenden - also ich denke, ich werde ein Ereignis auslösen müssen, wenn eine Verbindung geändert wird .. im Backbone würde ich das Routing ausschalten und dann den Backbone-Router verwenden .. würden Sie empfehlen, zu tun eine ähnliche Sache hier, denn ich werde wissen müssen, wann in anderen Seiten Vorlage laden .. – Dan
Ja. Das ist wahrscheinlich der beste Plan. KnockoutJS kommt nicht mit einem Router, aber es ist nicht schwer, einen dritten Teil zu implementieren. Ich habe nicht viel Erfahrung mit jQuery Mobile, aber es sollte funktionieren. –