ステート マシンを統合してルーティングを制御するのを手伝ってくれる人はいますか?
これを行うための最良の方法は何ですか? サービスを作成しますか?
基本的に、すべての $location リクエストをインターセプトし、ステート マシンを実行して、次の $location.path がどうあるべきかを判断させる必要があります。
問題は、時間の経過とともに追加および削除される一連の質問のように考えてください。ユーザーは時々訪問し、ユーザーの回答オブジェクトをステートマシンに渡し、ステートマシンはどの質問をロードするかを判断します。これは私の疑似コードですが、すべてのルート要求がマシンを通過することを確認するために、これをどこに配置するか、どのイベントにフックできるかを理解する必要があります。特定の stateMachine コントローラーが必要ですか? サービスを作成しますか? サービスはどこで利用できますか? $locationProvider をオーバーライドする必要がありますか?
$scope.user.answers = [{
id: 32,
answer: "whatever"
},
{
id:33,
answer: "another answer"
}]
$scope.questions = [{
id:32,
question:"what is your name?",
path:"/question/1"
},{
id:34,
question:"how old are you?",
path:"/question/2"
}]
var questions = $scope.questions;
angular.forEach(questions, function(question) {
if(question.id !exist in $scope.user.answers.id) {
$location.path = question.path
break;
});
ありがとう