Windows 8 如何使用WinJS观察属性而不是它指向的对象?

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,

希望我的描述是正确的。我正在制作一个windows应用商店应用程序,我有以下设置

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
})