Angularjs ui-router无法解决州'调查'中的'结果/ 0'

时间:2015-08-25 19:35:00

标签: javascript angularjs routing angular-ui-router angularjs-routing

我正在尝试设置我的第一个角度应用程序,我遇到了ui-router的困难。在功能上,用户填写调查表,然后将其发送到具有所述调查的个人结果的页面。在提交时,用户的结果将与每次提交时递增的ID一起保存到工厂。我似乎无法让ui-router解析到那个个性化的页面。

相反,我收到了这个错误:

  

无法解决州'调查'中的'结果/ 0'

FormCrtl的代码:

routerApp.controller('FormCtrl', ['$scope', 'questions', 'users', 'results',
    function($scope, questions, users, results){
        $scope.responses = [];
        $scope.results = [];
        $scope.multChoice = [];
        $scope.imageQuestions = [];
        $scope.questions = questions.questions;
        $scope.code = results.lastId;
         results.results.push($scope.results);
        results.lastId++;

        console.log($scope.results);
        users.create({responses: $scope.responses, results: $scope.results});    

ResultsCtrl中的代码:

routerApp.controller('ResultsCtrl', ['$scope', '$stateParams', 'results', function($scope, $stateParams, results){
    console.log('hello world');
}]);

来自ui-router的代码:

.state('results', {
            url: '/results/{id:int}',
            templateUrl: '../../views/results.html',
            controller: 'ResultsCtrl',
            resolve: {
            post: ['$stateParams', 'results', function($stateParams, results) {
              return results.results[id];
            }]
          }})

来自调查html的代码:

    </div>
    <label>Please confirm that you have answered all of the questions</label>
    <button ng-click = 'addUser()' ui-sref = 'results/{{code}}'>Submit</button>
</form>

结果工厂的代码:

routerApp.factory('results', [ function(){
    var o = {
        results: [],
        lastId: 0
    };

    return o;
}]);

1 个答案:

答案 0 :(得分:1)

您在ui-sref指令中使用了错误的州名,这会导致您收到错误消息。 ui-sref指令接受stateName并通过已注册的状态进行搜索。

ui-sref = 'results({id: code})'