【发布时间】:2015-05-11 09:58:02
【问题描述】:
我现在想不通了。一切似乎都很好,但是当我尝试将主数据继承到详细信息视图中时,除了 id 之外,什么都没有显示。
控制台输出:Object {id: "78"}
这是我的代码:
配置
.state('app.home', {
url: "/home",
views: {
'menuContent': {
templateUrl: "templates/home.html",
controller: 'PostHomeCtrl'
}
}})
.state('app.posthome', {
url: "/home/:id",
views: {
'menuContent': {
templateUrl: 'templates/post.html',
controller: 'PostDetailCtrl'
}
}})
工厂
.factory('Posts', function($http){
var blogs = []; //Private Variable
return {
GetBlog: function(){
return $http.get('path/to/resources').then(function(response){
blogs = response;
return response;
});
},
GetPost: function(postId){
for(i=0;i<blogs.length;i++){
if(blogs[i].id == postId){
return blogs[i];
}
}
return null;
}
}})
控制器
.controller('PostHomeCtrl', function(Posts, $scope){
Posts.GetBlog().then(function(blogs){
$scope.blogs = blogs.data;
console.log(blogs.data);
});
})
.controller('PostDetailCtrl', function(Posts, $stateParams, $scope){
var postId = $stateParams;
$scope.blog = Posts.GetPost(postId);
console.log(postId);
});
【问题讨论】:
-
你能分享你在ajax调用后得到的博客数据吗?您在 PostHomeCtrl 登录
-
@semirturgay nvm 刚刚想通了,结果我忘了在我的
blog = response中添加.data。所以它变成blog=response.data而不是blog=response。谢谢 -
如果问题解决了:接受答案,不要编辑标题。
标签: javascript angularjs ionic master-detail