Ответы пользователя по тегу Веб-разработка
  • Как автоматизировать "копипасту" во front-end Angular 4?

    0X12eb
    @0X12eb
    Вы почти ответили сами на свой вопрос.
    Реализуйте абстрактные компоненты, будь то формы или таблицы с настраиваемым функционалом (необходимые параметры передавайте в компонент инпутом, колбеки возвращайте оутпутом)
    Если требуются уникальные случаи абстрактных компонентов - наследуйтесь от ранее созданных и уже реализуйте уникальную часть для них.
    В итоге у Вас получится один абстрактный компонент. скажем, для таблиц где Вы прогоните все параметры, пришедшие из родительского компонента и отрендерите его, постепенно будете дописывать общие компоненты по мере необходимости.
    В конце концов будут настраиваемые компоненты модалок, нотификаторов, аплоадеров, таблиц, форм и т.д. Которые заинкапсулируют в себе весь необходимый функционал и принимающие лишь настройки для тех или иных случаев реализаций.
    Ответ написан
    Комментировать
  • AngularJS для сайта и для мобильного приложения - это одно и то же?

    0X12eb
    @0X12eb
    Нативное мобильное приложение - это обязательное требование?
    Если да - IONIC облегчит жизнь, если веб-приложение на одном из последних frontend - фреймворков (таких, как Angular).
    Если же нативное мобильное приложение не обязательно - смотрите в сторону PWA - пишем один раз на том же ангуляре, и получаем приложение в вебе + "приложения" под все платформы (+ плюшки типа оффлайн доступа к приложению)

    В любом случае всё будет зависеть от бюджета и опыта разработчиков.
    Ответ написан
    Комментировать
  • Простая загрузка данных в state из json?

    0X12eb
    @0X12eb
    1 вариант:
    myApp.config(function ($stateProvider, $urlRouterProvider) {
        $urlRouterProvider.otherwise('/detail');
        $stateProvider
            .state('root', {
                url: '',
                resolve: {
                    promiseDatas: function ($state, $http) {
                        return $http.get("params.json");
                    }
                },
                controller: function ($state, promiseDatas) {
                    var vm = this;
                    vm.datas = promiseDatas.data;
                    $state.current.data.datas = promiseDatas.data;
                },
                controllerAs: 'root'
                data: {
                    datas: {}
                }
            })
            .state('detail', {
                parent: 'root',
                url: '/detail/:id',
                templateUrl: 'pages/detail.html',
                resolve: {
                    promiseData: function ($state, $stateParams) {
                        return _.findWhere($state.current.data.datas, { id: $stateParams.id })
                    }
                },
                controller: function (promiseData) {
                    var vm = this;
                    vm.data = promiseData;
                },
                controllerAs: 'detail'
            })
    })

    2 вариант: Использовать $state.go и передавать { item } напрямую потомку (не придется трогать всю коллекцию и фильтровать ее на наличие интересующего объекта).
    3 вариант: Использовать родительский $scope, но от скоупа лучше воздержаться.
    Ответ написан
    Комментировать