Windows 8 如何使用WinJS观察属性而不是它指向的对象?
希望我的描述是正确的。我正在制作一个windows应用商店应用程序,我有以下设置Windows 8 如何使用WinJS观察属性而不是它指向的对象?,windows-8,windows-store-apps,winjs,Windows 8,Windows Store Apps,Winjs,希望我的描述是正确的。我正在制作一个windows应用商店应用程序,我有以下设置 WinJS.Namespace.define("Model", { WorkOrders: new WinJS.Binding.List(), selectedWorkOrder: {} }); WinJS.Namespace.define("ViewModel", { WorkOrders: Model.WorkOrders,
WinJS.Namespace.define("Model",
{
WorkOrders: new WinJS.Binding.List(),
selectedWorkOrder: {}
});
WinJS.Namespace.define("ViewModel",
{
WorkOrders: Model.WorkOrders,
selectedWorkOrder: Model.selectedWorkOrder
})
加载页面时,ajax请求将填充一个工作订单列表,填充后,用户可以选择一个,此时Model.selectedWorkOrder将设置为Model.WorkOrder中的一个对象
我希望ViewModel.selectedWorkOrder反映出Model.selectedWorkOrder是什么,但它似乎只绑定到最初的空对象,我如何使它绑定到该属性(即使对象发生更改,如指针)
我正在做类似的事情来设置selectedWorkOrder
Model.selectedWorkOrder = results[i];
谢谢 不确定我是否正确理解了你的问题 您要查找的是要进入查看模型的某种事件。selectedWorkOrder无论什么
模型。selectedWorkOrder
都有,对吗?如果是这种情况,您可以尝试(老实说,我不太熟悉),或者您可以制作
ViewModel.selectedWorkOrder
一个方法,该方法可以获取并返回Model.selectedWorkOrder
在任何给定时间拥有的任何内容
大概是这样的:
WinJS.Namespace.define("Model",
{
WorkOrders: new WinJS.Binding.List(),
selectedWorkOrder: {}
});
var _getWorkItem = function(){
return Model.selectedWorkItem;
}
WinJS.Namespace.define("ViewModel",
{
WorkOrders: Model.WorkOrders,
selectedWorkOrder: _getWorkItem
})