AngularJS - 参数为全局访问的路由
AngularJS - route with parameter to be accesses globally
我正在 AngularJS 中创建调查表。要求是在电子邮件中提供参数中带有 surveyId 的调查 link。
我厌倦了下面的代码,但我无法访问接收控制器中的 surveyId,它显示未定义。此外,当我尝试直接使用参数访问 url 时,它不会加载。
这就是我尝试在本地环境中直接访问 link 的方式,其中 4 是 surveyId
http://localhost:9000/fillSurvey/4
有人可以指导我正确的方向吗?`
var app = angular.module('mainApp', ['ngRoute']);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
/*$locationProvider.html5Mode(true).hashPrefix('!');*/
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$routeProvider.when('/fillSurvey/:surveyId', {
templateUrl: 'surveyManagement/views/surveysList.html',
controller: 'fillSurveyCtrl'
})
.otherwise({
redirectTo: '/'
})
}
]);
app.controller('fillSurveyCtrl', ['$scope', '$location', '$http', '$localStorage', '$filter', '$interval', function($scope, $location, $http, $localStorage, $filter, $interval, $routeParams) {
$scope.surveyId = $routeParams.surveyId;
alert($scope.surveyId);
}]);
编辑
所以我缺少添加依赖项“$routeParams”,这就是未定义的原因。
有人可以指导我如何使 link 像这样从任何地方都可以访问吗
baseURL/fillSurvey/5
其中 5 是调查 ID
谢谢
您的控制器配置不正确。
比较
['$scope', '$location', '$http', '$localStorage', '$filter', '$interval',
函数($scope, $location, $http, $localStorage, $filter, $interval, $routeParams
)
希望你能理解。
我正在 AngularJS 中创建调查表。要求是在电子邮件中提供参数中带有 surveyId 的调查 link。
我厌倦了下面的代码,但我无法访问接收控制器中的 surveyId,它显示未定义。此外,当我尝试直接使用参数访问 url 时,它不会加载。
这就是我尝试在本地环境中直接访问 link 的方式,其中 4 是 surveyId http://localhost:9000/fillSurvey/4
有人可以指导我正确的方向吗?`
var app = angular.module('mainApp', ['ngRoute']);
app.config(['$routeProvider', '$locationProvider',
function($routeProvider, $locationProvider) {
/*$locationProvider.html5Mode(true).hashPrefix('!');*/
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$routeProvider.when('/fillSurvey/:surveyId', {
templateUrl: 'surveyManagement/views/surveysList.html',
controller: 'fillSurveyCtrl'
})
.otherwise({
redirectTo: '/'
})
}
]);
app.controller('fillSurveyCtrl', ['$scope', '$location', '$http', '$localStorage', '$filter', '$interval', function($scope, $location, $http, $localStorage, $filter, $interval, $routeParams) {
$scope.surveyId = $routeParams.surveyId;
alert($scope.surveyId);
}]);
编辑
所以我缺少添加依赖项“$routeParams”,这就是未定义的原因。 有人可以指导我如何使 link 像这样从任何地方都可以访问吗 baseURL/fillSurvey/5
其中 5 是调查 ID
谢谢
您的控制器配置不正确。
比较 ['$scope', '$location', '$http', '$localStorage', '$filter', '$interval',
函数($scope, $location, $http, $localStorage, $filter, $interval, $routeParams )
希望你能理解。