如何观察属性而不是WinJS指向的对象?

时间:2014-06-30 17:54:15

标签: windows-8 windows-store-apps winjs

希望我正确地描述了这一点。我正在制作一个Windows应用商店应用,我有以下设置

WinJS.Namespace.define("Model",
    {
        WorkOrders: new WinJS.Binding.List(),
        selectedWorkOrder: {}
    });
WinJS.Namespace.define("ViewModel",
    {
        WorkOrders: Model.WorkOrders,
        selectedWorkOrder: Model.selectedWorkOrder
    })

当加载页面时,ajax请求填充WorkOrders列表,在填充后,用户可以选择一个,此时Model.selectedWorkOrder被设置为Model.WorkOrder中的一个对象。

我希望ViewModel.selectedWorkOrder反映Model.selectedWorkOrder是什么,但它似乎只绑定到原来的空对象,我怎样才能使它绑定到该属性(即使对象发生变化,如指针)。 / p>

我正在做这样的事情来设置selectedWorkOrder

Model.selectedWorkOrder = results[i];

谢谢!

1 个答案:

答案 0 :(得分:0)

不确定我是否理解你的问题。

您正在寻找的内容是某种事件ViewModel.selectedWorkOrder无论Model.selectedWorkOrder有什么,对吧? 如果是这种情况你可以尝试RxJS-WinJS(我实在不太熟悉),或者你可以让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
})
相关问题