Javascript 不创建视图对象-如何创建视图对象?
我正在做一个叫做OpenEMR的项目。 我被要求向JS Knockout加载的页面添加一些数据。我正在学习这个JS淘汰赛,因为我通过这个练习 问题是在添加新对象之后Javascript 不创建视图对象-如何创建视图对象?,javascript,Javascript,我正在做一个叫做OpenEMR的项目。 我被要求向JS Knockout加载的页面添加一些数据。我正在学习这个JS淘汰赛,因为我通过这个练习 问题是在添加新对象之后 function patient_data_view_model(pname,pid,pubpid,str_dob,regdate) { var self=this; self.pname=ko.observable(pname); self.pid=ko.observable(pid); self.
function patient_data_view_model(pname,pid,pubpid,str_dob,regdate)
{
var self=this;
self.pname=ko.observable(pname);
self.pid=ko.observable(pid);
self.pubpid=ko.observable(pubpid);
self.str_dob=ko.observable(str_dob);
self.regdate=ko.observable(regdate); //new object
我按照原作者设定的模式将其添加到所有位置。
我在浏览器中安装了一个js knockout插件,以便在数据没有显示在屏幕上时帮助解决问题。是的,此服务器正在加载数据
function setMyPatient() {
parent.left_nav.setPatient("Hung Chow (she)",66499, " | MRN: 66499",''," DOB: 01\/08\/1996 | Age: 25 | Gender ID \"F\" | ",''," Reg Date: 03\/09\/2021");
正如您在屏幕截图中所看到的,没有创建redate
我的问题是,是什么创建了右侧的pname函数之类的对象?显然,这不仅仅是增加可观测的ko的事实
另一个更新的地方是这里
left_nav.setPatient = function(pname, pid, pubpid, frname, str_dob, regdate)
{
if((app_view_model.application_data.patient()!==null) && (pid===app_view_model.application_data.patient().pid()))
{
app_view_model.application_data.patient().pname(pname);
app_view_model.application_data.patient().pubpid(pubpid);
app_view_model.application_data.patient().str_dob(str_dob);
app_view_model.application_data.patient().regdate(regdate);
return;
}
此函数似乎是将数据应用于视图的点
谢谢 如果我理解正确(我在这里做一些假设,因为您遗漏了一些相关信息):
app\u view\u model.application\u data.patient
中(包装在可观察对象中)patient\u data\u view\u model
regdate
添加到此构造函数中,该构造函数将额外属性regdate
添加到它创建的患者对象中left\u nav.setPatient
,它获取一些值并覆盖当前存储在app\u view\u model.application\u data.patient中的患者的当前值
regdate
app_view_model.application_data.patient=ko.observable(新患者_data_view_model('abc',123456','def',01-02-2021');
如果以这种方式创建,它确实应该包含新的regdate
字段。如果以任何其他方式创建,则所有赌注都将被取消
顺便说一下,如果调用此
setPatient
函数而不存在regdate
字段,则会出现类似“regdate不是函数”的错误.请确保您的样本数据不是真实的患者数据洪周不是真实的患者或真实的人。第38行var new_patient=新患者数据视图模型(pname、pid、pubpid、str_dob、regdate);app_view_model.application_data.patient(新患者);