Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Knockout.js 淘汰JS和从属viewmodels_Knockout.js - Fatal编程技术网

Knockout.js 淘汰JS和从属viewmodels

Knockout.js 淘汰JS和从属viewmodels,knockout.js,Knockout.js,我正在努力解决如何用Knockout最好地表示我的数据。使用包含子视图模型的主视图模型更好还是只有一个主视图模型更好? 以下是may数据表示方式的示例: Company { CompanyID, Industry, Name, Address, Phone } Employee { CompanyID, EmployeeID, Name, Address, Phone } 可以有很多公司,每个公司可以有很多员工。我需要用户能够从下拉列表中选择公司,填写公司记录,然后显示员工记录列表。如果公司

我正在努力解决如何用Knockout最好地表示我的数据。使用包含子视图模型的主视图模型更好还是只有一个主视图模型更好? 以下是may数据表示方式的示例:

Company { CompanyID, Industry, Name, Address, Phone }

Employee { CompanyID, EmployeeID, Name, Address, Phone }
可以有很多公司,每个公司可以有很多员工。我需要用户能够从下拉列表中选择公司,填写公司记录,然后显示员工记录列表。如果公司记录被更改,我只想将公司记录(通过jSON)发送回服务器。如果员工记录被更改,我只想将员工记录发送回服务器

当然,在加载
公司
记录之前,不能加载
员工
记录。

尽量不要考虑“更好”。。。相反,想想你的观点需要什么。使用所需的模型为其构建viewmodel。如果您需要一个公司列表,选择一个公司,然后在一个视图中显示所有员工的列表,那么您可以使用一个viewmodel来公开模型的层次结构

或者您可以创建多个视图:1用于从列表中选择公司,1用于显示公司详细信息,1用于选择员工。。。你明白了。然后,每个视图都有自己的包含该数据的viewmodel

或者,可以使用子视图模型创建主视图模型

我通常从一个视图和一个视图模型开始,只有当我感觉到视图模型(或视图)越来越重时,才会在几个视图之间分割