我正在尝试使用 JQM 和 Knockout 构建一个可移动的 Web 应用程序。在我的 Knockout 脚本运行后,我试图在其中获得一些风格。
<form action="" data-bind=" template:{ 'if': loginVM, data: loginVM }">
//Some Code
</form>
<form action="" data-bind="template: { 'if': startVM, data: startVM }">
//Some Code
</form>
这或多或少是我的淘汰赛脚本
var masterViewModel = {
loginVM: ko.observable(),
startVM: ko.observable(),
projektUnterbrechen: ko.observable(),
logout: ko.observable(),
projectStartVM: ko.observable()
};
var LoginVM = function () {
var self = this;
self.showDetails = function () {
if ((self.user() == "Gregor") && (self.password() == "gregrech")) {
masterViewModel.loginVM(null);
masterViewModel.startVM(new StartVM());
}
};
var StartVM = function () {
//Some Code
};
现在添加后
<script src="../../Scripts/jquery.mobile-1.2.0.js" type="text/javascript"></script>
对于我的项目,我的淘汰赛不再起作用了。好像我的 masterViewModel 没有更新!例如我试过这个:
var LoginVM = function () {
var self = this;
self.showDetails = function () {
if ((self.user() == "Gregor") && (self.password() == "gregrech")) {
masterViewModel.loginVM(null);
masterViewModel.startVM(new StartVM());
alert(masterViewModel.startVM()==null) //Messagebox displays "false"
}
};
var StartVM = function () {
alert(masterViewModel.startVM()==null) //Messagebox displays "true"
};
这个starnge问题的解决方案是什么?