Sto provando a costruire una piccola applicazione usando knockout, richiede, underscore.knockout con requirejs e underscore per ottenere il template esterno
ho la mia pagina di indice in cui io chiamo a richiedere e che punti a un main.js erano io continuo la mia config
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) {
});
il resto del mio indice non ha corpo. così quando viene caricato chiama app.js
define(['jquery','knockout', 'appViewModel'],
function($, ko, appViewModel)
{
ko.applyBindings(new appViewModel());
});
questo dovrebbe quindi chiamare appViewModel che funziona bene. Questo è dove ho un po 'confuso, come ho poi voglio caricare in un modello da appViewModel
così sto cercando di fare qualcosa di simile
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {
//call and load in template
});
questo è dove ho un po' bloccato lo so in spina dorsale per esempio che io uso
template:_.template(homeViewTemplate)
ma sono in realtà non è sicuro il modo migliore di caricamento di un modello in qui
ho guardato https://github.com/ifandelse/Knockout.js-External-Template-Engine ma questo non funziona molto bene con require e se lo usi senza bisogno e metto del testo in un file html e lo chiamo quando uso jQuery mobile non aggiunge le classi ecc.
Mi chiedevo se qualcuno potesse indicarmi la direzione giusta .. credo che sto davvero cercando di capire quale codice per mettere in qui
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {
//call and load in template
});
da chiamare in homeviewtemplate.
grazie
Articolo molto interessante. Sarebbe fantastico se potessi inserire un esempio di codice su Github. – Dan
Sto provando ad usarlo anche con jQueryMobile - quindi suppongo che dovrò sparare un evento quando un link è cambiato .. in backbone vorrei spegnere il routing e quindi usare il router backbone ... consiglieresti di fare una cosa simile qui perché ho bisogno di sapere quando caricare in un altro modello di pagine .. – Dan
Sì. Questo è probabilmente il miglior piano. KnockoutJS non viene fornito con un router, ma non è difficile implementarne uno terzo. Non ho molta esperienza con jQuery mobile, ma dovrebbe funzionare. –