У меня есть приложение, использующее angularJS + Symfony. Из бэкэнд у меня есть следующие объекты:
class Property {...}
class Land extends Property {...}
class House extends Property {...}
class Office extends Property {...}
class Field extends Property {...}
Каждый подкласс имеет свои собственные поля.
Из frontend мне нужно создать любой подкласс свойства на одном экране. Поэтому я бы отобразил/скрыл серверные поля по выбранному типу свойства. Я читал о ng-show
но мне хотелось бы получить более динамичный и общий из-за того, что у меня будет такая же проблема с экраном "view".
Что ты предлагаешь? Каков наилучший подход?
Я бы использовал угловой ui-router. Это позволит вам создавать разные состояния, которые показывают разные классы без вашего html, становясь большим и громоздким.
Например:
myApp.config(function($stateProvider, $urlRouterProvider) {
//
// For any unmatched url, redirect to /state1
$urlRouterProvider.otherwise("/state1");
//
// Now set up the states
$stateProvider
.state('Property', {
url: "/Property",
templateUrl: "partials/property.html"
})
.state('Property.land', {
url: "/land",
templateUrl: "partials/property.land.html",
controller: function($scope) {
$scope.items = ["A", "List", "Of", "Items"];
}
})
});
$state.go('toState', result);
для каждого из параметров в выпадающем списке это должно работать.