В моем проекте я использую UI-маршрутизатор. Пожалуйста, проверьте мой код, приведенный ниже, чтобы исправить это
index.js
.state('survey.surveyList', {
url: '/:id',
templateUrl: 'survey/surveyList.html',
controller: 'surveyController'
});
surveyController.js
angular.module("adminsuite").controller("surveyController",['getAllSurveyService','$http','AuthenticationService', '$scope','$rootScope', '$state', '$stateParams', function(getAllSurveyService,$http, AuthenticationService,$scope,$rootScope,$state,$stateParams){
$scope.getProjSurveys = function(projId){
var i;
for(i in $scope.allProjects){
if(projId == $scope.allProjects[i].ProjectID){
$scope.allSurveys = $scope.allProjects[i].Surveys;
}
}
angular.element(document.querySelectorAll(".surveymodule")).removeClass('toggled');
console.log($state.params.id);
};
}]);
index.html
<li ng-repeat="obj in allProjects track by $id(obj)">
<a ui-sref="survey.surveyList({id: obj.ProjectID})" ng-click="getProjSurveys(obj.ProjectID)" data-id="{{obj.ProjectID}}">{{obj.ProjectName}}<span class="projectsetting"><img src="./images/settings.png"/></span></a>
</li>
Выше мои коды. когда я пытаюсь получить доступ к значению id с помощью $ stateParams, он отображается как неопределенный. Используя это, я пытаюсь вызвать другую функцию, передав параметр $ stateParams.id в качестве параметра, но он не работает. Пожалуйста, помогите
ли вы добавить маршрутизатор UI ?? – SuperComupter
Да, он работает нормально. onclick я могу перейти в это состояние, но не могу получить это значение id ... – Kishan
Каков результат '$ stateParams'? Я бы предположил, что вы ничего не установили на 'id', можете ли вы проверить URL-адрес также – taguenizy