Как передать строковое значение из одной JS viewmodel в другую
У меня есть сайт, который получает данные, связанные с компанией, обратно из базы данных, например, финансы, ИТ и так далее.
для каждого отдела были отдельные столы. Затем я понял, что таблицы имеют одинаковые поля данных, поэтому я создал одну таблицу для хранения всех данных, и в этой таблице я создал поле pageIdentifier, которое я использую, чтобы определить, на какой странице Я нахожусь, и данные, относящиеся к этой странице.
Код имел разные модели представления для каждой страницы.(имел ITViewModel, FinanceViewModel) Затем я создал переменную pageIdentifier в каждой модели представления, которую отправляю обратно в сохраненный процесс, чтобы знать, какие данные я хочу вернуть.
самостоятельно.pageIdentifier = ко.наблюдаемые("оно"); //это позволит загрузить его данные у меня есть в БД
У меня были дублированные модели просмотра с дублированным кодом. Теперь я создал только одну модель представления, чтобы избавиться от дубликата кода. Поэтому у меня есть только masterViewModel (куда я загружаю другие модели представлений) и моя genericDataViewModel.
Кто-нибудь знает, как передать строковое значение из одной модели представления в другую модель представления? Я хочу передать строку из моей MasterViewModel в мою genericViewModel.
надеюсь, это имеет смысл.
Что я уже пробовал:
Я попытался создать переменные в своей модели MasterView:
в этом примере я попытался создать ИТ-строку для передачи в мою модель genericView.
self.navigateToGenericData = function () { masterVM.error(""); masterVM.info(""); self.identifierString = "IT"; $('#content').hide(); ko.cleanNode($("#content")[0]); $('#content').load("App/GenericData/Browse.html", function () { startProgress(); $("#progressbar").show(); ko.applyBindings(self.genericDataViewModel, $('#content')[0]); //self.genericDataViewModel.retrieveIdentifier('IT'); self.genericDataViewModel.retrieveGenericDataList(); self.genericDataViewModel.retrieveClassification(); self.genericDataViewModel.retrieveLocationLookup(); self.genericDataViewModel.retrieveDocumentStatus(); completeProgress(); }); $('#content').show({ effect: "drop", direction: "up" }); };
Мой genericViewModel
function GenericDataViewModel() { var self = this; self.identifier = ko.observable("IT"); self.classification = ko.observable(); self.location = ko.observable(); self.documentStatus = ko.observable();
на месте самостоятельно.идентификатор = ко.наблюдаемые("это") я хочу получить значение из моей модели MasterView.
Я попробовал сделать что-то вроде self.identifier = $parent.IdentifierString, но не работает.