我有一个控制器,旨在支持某个模型的所有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();
}