#windows-8 #windows-store-apps #winjs
#windows-8 #windows-магазин-приложения #winjs
Вопрос:
Надеюсь, я правильно это описываю. Я создаю приложение для магазина 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.Порядок работы.
Я хочу, чтобы ViewModel.selectedWorkOrder отражал любую модель.selectedWorkOrder , но, похоже, он привязывается только к изначально пустому объекту, как я могу привязать его к этому свойству (даже если объект изменяется, например, указатель).
Я делаю что-то подобное, чтобы установить selectedWorkOrder
Model.selectedWorkOrder = results[i];
Спасибо!
Ответ №1:
Не уверен, правильно ли я понимаю ваш вопрос.
То, что вы ищете, — это какое-то событие, чтобы попасть в 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
})