Credo che si possa semplicemente riutilizzare lo Ionic CSS (come si fa con Bootstrap) per ottenere uno stile ottimizzato per i dispositivi mobili e quindi collegare alcuni binding KO per farlo rispondere alle azioni dell'utente.
Un semplice esempio: immaginate di voler fare un interfaccia a schede (ho preso markup da the docs)
<div class="tabs-striped tabs-top tabs-background-positive tabs-color-light">
<div class="tabs">
<a class="tab-item active" href="#">
<i class="icon ion-home"></i>
Test
</a>
<a class="tab-item" href="#">
<i class="icon ion-star"></i>
Favorites
</a>
<a class="tab-item" href="#">
<i class="icon ion-gear-a"></i>
Settings
</a>
</div>
</div>
Con ionica si dovrebbe far leva ion-tabs, ma con Durandal/KO avete compose
e viste:
<div class="tabs-striped tabs-top tabs-background-positive tabs-color-light" data-bind="delegatedHandler: 'click'">
<div class="tabs" data-bind="foreach: tabs">
<a class="tab-item" href="#" data-bind="delegatedClick: $parent.setView.bind($parent), css: {active: isActive}">
<i class="icon" data-bind="css: icon"></i>
<span data-bind="text: title"></span>
</a>
</div>
</div>
<div data-bind="compose: {view: activeView, cacheViews: true}"></div>
e quindi aggiungere un topping nel vostro VM:
return {
tabs: [
{title:'Test', view: 'test.html', icon: 'ion-home', isActive: ko.observable(false)},
{title:'Favourites', view: 'favs.html', icon: 'ion-star', isActive: ko.observable(false)},
...
],
,activeView: ko.observable(),
,setView: function(view) {
this.activeView(view.view || view);
this.tabs.forEach(function(v){
v.isActive(v.view === viewName);
});
}
}
E 'solo per darvi un'idea di un possibile approccio. Dopo tutto, angolare e KO sono molto simili ... E la maggior parte delle componenti JS di ionic sono già implementate in durandal (ad esempio, navigation ricorda da vicino routing e composizione).
fonte
2015-02-17 19:40:05
Questa domanda non è veramente adatta per Stack Overflow in quanto non esiste una risposta giusta o sbagliata. Forse ti piacerebbe pubblicarlo su http://programmers.stackexchange.com. –
Sto cercando un'alternativa o una personalizzazione a Ionic Framework che funzionerà con KO/Durandal. – Alwyn