2013-03-25 54 views
1

我有一个使用几种不同的视图模式(这是我第一次已经建立了淘汰赛JS的应用程序)的应用程序。淘汰赛JS收集数据

基本上我在做什么是一个向导,每一页是淘汰赛视图模型,最后我想借此从所有视图模型所有的JSON,并用最后的按钮提交。

什么是这样做的最佳方式?

回答

1
window.firstViewModel = new function() 
{ 
    var self = this; 
    self.firstProperty = ko.observable(); 
    // 
} 

window.secondViewModel = new function() 
{ 
    var self = this; 
    self.secondProperty = ko.observable(); 
    // 
} 

var submit = function() 
{ 
    var firstProperty = firstViewModel.firstProperty(); // access to firstViewModel 
    var secondProperty = secondViewModel.secondProperty(); // access to secondViewModel 
    //... 
} 
+0

我认为这是我需要的。我要测试它,让你知道:) – Stephen 2013-03-25 15:15:29

+0

我用你的代码,它提交一个空数组,并删除在我的淘汰赛领域我有数据。我粘贴在这里我的代码:http://jsfiddle.net/G2y2P/1/ – Stephen 2013-03-25 15:50:25

+1

@StephenHarman http://jsfiddle.net/VQtn6/ – Ilya 2013-03-25 16:31:08

1

我建议走向单页应用程序。

从本质上讲,你将必须在向导中的每个阶梯段的单一视图模型,并提交,你有你需要的所有数据。

可见度/美学可以通过CSS和智能绑定进行控制。

RP尼迈耶有一个很好的演示,并在this answer谈到它。

+0

感谢您的回答,我可能已经以这种方式最初构建它,但我已经构建了所有单独的视图模型并为每个步骤创建了所有的html。我正在寻找更多具有收集数据的主视图模型的方法,或者在过程中保留它。 – Stephen 2013-03-25 14:00:02

+0

难道你不能创建一个具有每个步骤级别视图模型属性的容器视图模型吗? – Rich 2013-03-25 14:50:00