Сравните MVVM WPF и MVC/MVVM AngularJS
MVVM Architure в WPF кажется понятным.
- Модель в шаблоне MVVM инкапсулирует бизнес-логику и данные (это конкретный класс, отвечающий за бизнес-логин и данные)
- Ответственность за представление состоит в том, чтобы определить структуру и внешний вид того, что пользователь видит на экране.(реализуется с помощью страницы XAML)
- Модель представления в шаблоне MVVM инкапсулирует логику представления и данные для представления (это определенный класс, который отвечает за вход в систему представления)
Теперь давайте сравним его с шаблоном Angularjs Design MVC/MVVM.
Представление является DOM(HTML).
ViewModel это:
объект $scope можно рассматривать как ViewModel, который оформляется функцией, которую мы называем Controller.
И здесь возникает вопрос
Что такое модель в этом шаблоне проектирования AngularJS?
Я понял, что, возможно, Службы должны быть моделью? может кто-нибудь дать мне понять?
Кстати, я хочу использовать ES6 Class в качестве модели, как мы говорили в шаблоне MVFM Design WPF, где модель - это Class.
1 ответ
Модели могут поступать от служб или заводов, например:
angular.module("myModule")
.factory("urlFactory", function() {
return {
myModelSource: 'http://localhost:38324/api/myModel'
}
})
.service("dataSource", ["$http", "urlFactory", function($http, urlFactory) {
return {
getMyModel: function() {
return $http.get(urlFactory.myModelSource);
}
}
}])
.controller("myController", ["$scope", "dataSource", function($scope, dataSource) {
dataSource.getMyModel().then(function(myModel) {
$scope.viewModel = myModel;
});
}]);