| 

.NET C# Java Javascript Exception

1
Hallo!

Ich würde gerne das von jquery mobile zu verwendende Theme per Binding setzen. Etwa in der Art:
<div id="hauptmenu" data-role="page" data-bind="attr: { 'data-theme': appViewModel.theme }">
</div>


Mit diesen Viewmodels:
var viewModels = {
appViewModel: { theme: ko.observable("e")},
mainMenuViewModel: { abfrageMoeglich: ko.observable(false)}
}


Das klappt allerdings nicht. Sieht jemand, warum? Vielen Dank!

Viele Grüße

TopperDEL
15.10.2012
TopperDEL 101 1 4
Wie sieht denn der Aufruf von ko.applyBindings bei Dir genau aus? Und was genau klappt nicht?
Matthias Hlawatsch 15.10.2012
1 Antwort
0
Also grundsätzlich funktioniert KO. Wenn ich etwa innerhalb der DIV-Containers folgenden Code setze, dann sehe ich den Wert "e" in der Ausgabe:
<strong data-bind="text: appViewModel.theme"></strong>

Beim jqm-Theme wird mir aber nur der Standard angezeigt. Tausche ich das nicht funktionierende Binding durch ein "e", dann wird mir das orangene Theme angezeigt.

Ich vermute daher, dass sich jquery mobile den Wert für das Theme bei der Initialisierung holt noch bevor knockout da reingrätschen kann. Vielleicht parst jqm einfach den HTML-Code und sucht sich die Werte zusammen? Keine Ahnung. Ich bin kompletter Neueinsteiger in HTML5, JavaScript, jq(m) und knockout. Ich sammle gerade erst meine Erfahrungen. ;)

Ich muss es dann wohl über eine Funktion lösen, ähnlich wie hier beschrieben ist:
http://stackoverflow.com/questions/7972140/jquery-mobile-change-theme-on-click.

Falls wem noch was einfällt: gerne her damit. Ansonsten danke soweit!
16.10.2012
TopperDEL 101 1 4

Stelle deine Mobile-Frage jetzt!