Próbuję zbudować małą aplikację przy użyciu nokautu, wymagać, podkreślenia.nokaut z requirejs i podkreśleniem, aby uzyskać zewnętrzne szablonowanie
Mam stronę indeksu gdzie zadzwonię w wymaganą ilość i to wskazuje na main.js były Trzymam 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) {
});
reszta mojego indeksu nie ma ciała. więc gdy jest załadowany, wywołuje app.js
define(['jquery','knockout', 'appViewModel'],
function($, ko, appViewModel)
{
ko.applyBindings(new appViewModel());
});
to powinno następnie wywołać appViewModel, który działa poprawnie. To gdzie ja się nieco zdezorientowany jak ja potem chce załadować w szablonie z appViewModel
więc staram się robić coś takiego
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {
//call and load in template
});
To gdzie ja się trochę zatrzymany wiem w szkielet na przykład można używać
template:_.template(homeViewTemplate)
ale ja naprawdę nie wiem, najlepszym sposobem ładowania szablonu tu
mam spojrzał na https://github.com/ifandelse/Knockout.js-External-Template-Engine ale to nie działa bardzo dobrze z wymaganiem i jeśli używasz go bez wymagania i po prostu wstaw trochę tekstu do pliku html i wywołaj to, gdy korzystam z jQuery mobile nie dodaje klas itp.
Zastanawiałem się, czy ktoś może wskazać mi właściwy kierunek .. Myślę, że jestem naprawdę starają się wypracować co kod, aby umieścić tu
define(['jquery','knockout', 'text!templates/homeViewTemplate.html', 'jqm'],
function($, ko, homeViewTemplate) {
//call and load in template
});
zadzwonić w homeviewtemplate.
dzięki
Bardzo ciekawy artykuł. Byłoby wspaniale, gdyby można było umieścić przykład kodu na github. – Dan
Próbuję użyć tego również z jQueryMobile - więc domyślam się, że będę musiał uruchomić zdarzenie, gdy łącze zostanie zmienione. W sieci szkieletowej wyłączę routing, a następnie użyję routera szkieletowego. Czy poleciłbyś podobna rzecz tutaj, ponieważ będę potrzebować wiedzieć kiedy załadować w innym szablonie stron .. – Dan
Tak. To prawdopodobnie najlepszy plan. KnockoutJS nie jest dostarczany z routerem, ale nietrudno wdrożyć trzecią część pierwszą. Nie mam dużego doświadczenia z jQuery mobile, ale powinno działać. –