无法在 angular 中查看使用 $routeParams 重定向的数据
unable to view data redirected using $routeParams in angular
我有一些 json 格式的数据,想在我的 html 页面中查看它,为此我使用了 $routeParams,但是无法从 json 文件。
我创建了一个这样的控制器:
angular.module('app.controllers', [
'app.directives'
])
.controller('PostController', ['$scope', '$http', function ($scope, $http){
$http.get('data/posts.json').then(function (data) {
$scope.posts = data.data;
});
}])
.controller('SinglePostController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$http.get('data/posts.json').then(function (data){
$scope.post = data[$routeParams.id];
});
}]);
配置为:
angular.module('app', [
'ngRoute',
'app.controllers'
])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/',{
templateUrl : 'views/post.html',
controller : 'PostController'
}).when('/post/:id', {
templateUrl: 'views/singlepost.html',
controller: 'SinglePostController'
}).otherwise({
redirectTo : '/'
});
}]);
需要获取数据的html页面是:
<h1>{{post.title}}</h1>
<p>{{post.content}}</p>
求助!
您可能需要在执行 http.get 之前声明范围变量,即
.controller('SinglePostController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$scope.post = {};
$http.get('data/posts.json').then(function (data){
$scope.post = data.data[$routeParams.id];
});
我有一些 json 格式的数据,想在我的 html 页面中查看它,为此我使用了 $routeParams,但是无法从 json 文件。 我创建了一个这样的控制器:
angular.module('app.controllers', [
'app.directives'
])
.controller('PostController', ['$scope', '$http', function ($scope, $http){
$http.get('data/posts.json').then(function (data) {
$scope.posts = data.data;
});
}])
.controller('SinglePostController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$http.get('data/posts.json').then(function (data){
$scope.post = data[$routeParams.id];
});
}]);
配置为:
angular.module('app', [
'ngRoute',
'app.controllers'
])
.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/',{
templateUrl : 'views/post.html',
controller : 'PostController'
}).when('/post/:id', {
templateUrl: 'views/singlepost.html',
controller: 'SinglePostController'
}).otherwise({
redirectTo : '/'
});
}]);
需要获取数据的html页面是:
<h1>{{post.title}}</h1>
<p>{{post.content}}</p>
求助!
您可能需要在执行 http.get 之前声明范围变量,即
.controller('SinglePostController', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$scope.post = {};
$http.get('data/posts.json').then(function (data){
$scope.post = data.data[$routeParams.id];
});