淘汰賽我有這個Fiddle多的ViewModels使用jQuery
它在小提琴可以正常使用,但只要我把一個ASP.NET應用程序MVC4不加載第二個視圖模型的一切! 這通常是隻有當我下面的腳本標記添加到我的項目
<script src="../../Scripts/jquery.mobile-1.2.0.js" type="text/javascript"></script>
我需要一些jQuery函數加載第二個視圖模型或我是怎麼了? !)
這裏是我的代碼:
<form action="" data-bind=" template:{ 'if': loginVM, data: loginVM }">
//SomeCode
</form>
<form action="" data-bind=" template:{ 'if': startVM, data: startVM}">
//Some Code
</form>
<script type="text/javascript">
var masterViewModel = {
loginVM: ko.observable(),
startVM: ko.observable(),
projektUnterbrechen: ko.observable(),
logout : ko.observable(),
projectStartVM: ko.observable()
};
var LoginVM = function() {
var self = this;
self.mandant = ko.observable();
self.user = ko.observable();
self.password = ko.observable();
self.showDetails = function() {
if ((self.user() == "Gregor") && (self.password() == "gregrech")) {
masterViewModel.loginVM(null);
masterViewModel.startVM(new StartVM());
**//alert(masterViewModel.startVM()!=null) //==True**
}
else {
alert("Username oder Passwort falsch");
}
};
};
var StartVM = function() {
self = this;
**//alert(masterViewModel.startVM()!=null) //==False**
//Um weiterzumachen muss man eingeloggt sein
self.favoriten = ko.observableArray([
{
projectName: "Favorit1"
},
{
projectName: "Favorit2"
},
{
projectName: "Favorit3"
}
]);
//Die zuletzt verwendeten Projekte
self.zuletzt = ko.observableArray([
{
lastProjName: "Zuletzt1"
},
{
lastProjName: "Zuletzt2"
},
{
lastProjName: "Zuletzt3"
}
]);
self.showStart = function (projectName, data, event) {
masterViewModel.projectStartVM(new ProjectStartVM(projectName));
masterViewModel.startVM(null);
};
};
masterViewModel.loginVM(new LoginVM());
$(document).on('pageinit', function() {
ko.applyBindings(masterViewModel);
});
</script>
謝謝你的答案
編輯: 我發現,我得到不同的值,如果我比我的masterViewModel.startVM()=即使它必須是相同的! 也許這可以幫助你! 請看看與評論「**」在我的代碼明白我的意思
當你把它放到一個MVC應用程序,它不工作你在瀏覽器的JavaScript控制檯中看到什麼?有沒有錯誤? – nemesv
沒有錯誤 – Greg
我現在發現了一件小事。也許你現在可以看到我做錯了 – Greg