ng-route с тем же контроллером

0

У меня есть API с двумя маршрутами /api/new /api/old. Элементы - это угловая фабрика для запроса api ($http.get()).

В контроллере по умолчанию я запрашиваю /api/new.

В приложении у меня две кнопки "Новый" и "Старый".

Я подумывал слушать $locationChangeStart и снова загружать элементы, но, поскольку я искал это, похоже, это не лучшая практика.

Лучше использовать ng-click('old') или ng-click('new') для извлечения данных?

Может ли кто-нибудь объяснить мне, какая наилучшая практика для этого?

PS. Я хочу сохранить только один контроллер.

Теги:
routes

1 ответ

1
Лучший ответ

Думаю, вы используете угловой маршрутизатор. Угловой-ui-маршрутизатор намного лучше. Там вы можете использовать

        .state('new', {
            url: '/new',
            templateUrl: 'views/view.html',
            controller: 'YourCtrl',
            data: {
                action: 'new'
            }
        })

        .state('old', {
            url: '/old',
            templateUrl: 'views/view.html',
            controller: 'YourCtrl',
            data: {
                action: 'old'
            }
        })

В контроллере вы можете получить доступ к значению $state.$current.data.action.

  • 0
    Но возможно ли использовать тот же контроллер?
  • 0
    Конечно. Единственное условие, что состояния должны отличаться путем и именем.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню