我正在尝试设置我的第一个角度应用程序,我遇到了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;
}]);
答案 0 :(得分:1)
您在ui-sref
指令中使用了错误的州名,这会导致您收到错误消息。 ui-sref
指令接受stateName
并通过已注册的状态进行搜索。
ui-sref = 'results({id: code})'