Могу ли я иметь несколько ViewModel, удерживаемых в ViewModel? - PullRequest
0 голосов
/ 06 декабря 2011

Мне было интересно, что вы думаете о наличии ViewModel, содержащей коллекцию других ViewModel.

Например, если у меня есть экран цены акций. В MainView я хочу иметь возможность выбрать биржевой тикер. Когда я нажимаю кнопку ДОБАВИТЬ на MainView, он должен отобразить новую цену акций в MainView.

Мой вопрос о том, как должна работать кнопка добавления?

Какой из двух вариантов должна сделать кнопка «Добавить» в MainView:

1) Передайте биржевую бирку (MSFT) на StockPriceService . StockPriceService извлечет объект StockPrice . Затем я могу передать объект StockPrice в StockPriceViewModel . MainViewModel будет содержать коллекцию StockPriceViewModel .

2) передайте биржевую бирку (MSFT) в StockPriceViewModel . StockPriceViewModel будет реализован для вызова StockPriceService и получения объекта StockPrice . Объект StockPrice будет затем обернут в StockPriceViewModel .

Спасибо

CA

1 Ответ

0 голосов
/ 06 декабря 2011

Если кнопка Добавить является частью MainView, то ее события действительно должны обрабатываться MainViewModel, а доступ к данным для StockPriceViewModel и, следовательно, объекта StockPrice - кодом, связанным с StockPrice.

Способ поискаэто означает, что вы все равно должны иметь возможность отображать StockPriceViewModel с заполненными данными без обращения к какому-либо коду в любых других моделях ViewModel, но в этом случае именно MainViewModel инициирует создание / создание нового StockPriceViewModel и т. д.

Так что это будет означать в основном метод 2, скажем, передачу значения инициализации в конструктор StockPriceViewModel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...