AngularJS Controller通过$ routeProvider状态初始化

时间:2015-09-20 20:00:36

标签: angularjs

我有一个控制器,旨在支持某个模型的所有CRUD操作:显示记录列表,显示记录的详细信息,编辑,创建,更新和删除。

使用相同的控制器呈现不同的视图 - 但是对于每个视图,需要不同的初始化:对于列表,我应该加载一页记录,对于详细信息视图 - 我将按ID加载。

在初始化控制器时获取控制器“状态”的最佳做法是什么。

以下是我正在使用的一些路线的示例:

function config($routeProvider, $locationProvider) {
    $routeProvider

        // ...

        .when('/activity/list', {
            controller: 'ActivityController',
            templateUrl: 'views/activityList.html',
            controllerAs: 'vm'
        })

        .when('/activity/create', {
            controller: 'ActivityController',
            templateUrl: 'views/createNewActivity.html',
            controllerAs: 'vm'
        })

        .when('/activity/:id', {
            controller: 'ActivityController',
            templateUrl: 'views/activity.html',
            controllerAs: 'vm'
        })

        .otherwise({ redirectTo: '/login' });
}

for patch - 我通过检查路径明确区分。这不是我猜的最佳实践。

if ($location.$$path == '/activity/list') {
    initList();
}

0 个答案:

没有答案