0
私はCRUDモジュールactivities
をデフォルトのarticles
の代わりに使用していますが、モジュールの構造は同じです。私は新しいactivity
は、activities.create
状態がサービスでモジュール作成を許可していない複数の機能
.state('activities.create', {
url: '/create',
templateUrl: 'modules/activities/client/views/form-activity.client.view.html',
controller: 'ActivitiesController',
controllerAs: 'vm',
resolve: {
activityResolve: newActivity
},
data: {
roles: ['user', 'admin'],
pageTitle: 'Activities Create'
}
})
function newActivity(ActivitiesService) {
return new ActivitiesService().getActivitiesOfAllUsers();
}
そして、私のActivitiesService
(articles
1のような)が呼び出される作成ページに移動するために選択した場合
は次のようになります。
function ActivitiesService($resource, Authentication) {
return {
getActivitiesOfCurrentUser: function() {
return $resource('api/:userId/activities/:activityId', {
userId: Authentication.user._id,
activityId: '@_id'
}, {
update: {
method: 'PUT'
}
});
},
getActivitiesOfAllUsers: function() {
return $resource('api/activities/:activityId', {
activityId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
}
}
デフォルト設定のActivitiesService
は、
function ActivitiesService($resource, Authentication) {
return $resource('api/:userId/activities/:activityId', {
userId: Authentication.user._id,
activityId: '@_id'
}, {
update: {
method: 'PUT'
}
});
}
そしてnewActivity
関数は次のようになります。サービスは、デフォルトのレイアウトにあるとき
function newActivity(ActivitiesService) {
return new ActivitiesService();
}
だから、作成ページに行くだけで正常に動作します。 しかし、私がやったようにサービスに別の機能を追加するのはそれを壊すことです。私が作成ページに行くことを選択すると、何も起こっていないという理由でエラーも表示もありません。
私が見るところでは、activityResolve
は同じものを評価する必要があり、なぜ動作しないのか分かりません。