使用相同控制器的ng-route

时间:2015-10-30 11:10:13

标签: javascript angularjs routes

我的API包含两条/api/new /api/old条路线。 Items是请求api($http.get())的角度工厂。

默认情况下,我在控制器中请求/api/new

在应用程序中,我有两个按钮New和Old。

我正在考虑听$locationChangeStart并再次加载项目,但在我搜索时,这似乎不是最佳做法。

最好使用ng-click('old')ng-click('new')来获取数据吗?

有人可以向我解释一下实现这个目标的最佳做法吗?

PS。我想只保留一个控制器。

1 个答案:

答案 0 :(得分:1)

我猜您正在使用 angular-router angular-ui-router 要好得多。在那里你可以使用

        .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访问该标记。