Javascript AngularJS在ng视图中将JSON附加到控制器
有没有NG专家 我无法让我的工厂(VIEWservices)将JSON添加到新的view casestudy.php 我试图实现的是,当您使用函数(openCase)单击一篇文章时,它会在ng视图中显示casestudy.php(这是可行的),但我无法让它显示该文章的相关内容 我认为这是一个非常简单的修复,只是看了几个小时,并没有任何乐趣 HTMLJavascript AngularJS在ng视图中将JSON附加到控制器,javascript,angularjs,Javascript,Angularjs,有没有NG专家 我无法让我的工厂(VIEWservices)将JSON添加到新的view casestudy.php 我试图实现的是,当您使用函数(openCase)单击一篇文章时,它会在ng视图中显示casestudy.php(这是可行的),但我无法让它显示该文章的相关内容 我认为这是一个非常简单的修复,只是看了几个小时,并没有任何乐趣 HTML 工厂的getPosts函数是异步的。您需要使用。然后获取其返回值。在控制器中,尝试将代码更改为: app.controller('caseCtrl'
工厂的getPosts函数是异步的。您需要使用
。然后
获取其返回值。在控制器中,尝试将代码更改为:
app.controller('caseCtrl', function($scope, VIEWservices, $routeParams) {
var posts = VIEWservices.getPosts();
posts.then(function(data)
{
$scope.post = data[$routeParams.slug];
});
});
我不确定这是否是你想要的,但它可能会帮助你解决问题。要使用JSON,请尝试以下操作: 将$http注入控制器,然后获取json,如下所示:
$http.get('data/' + $scope.filename + '.json').success(function (data) {
$scope.retrievedJson = data;
});
这将使用检索到的json文件的内容填充retrievedJson变量,使其可用于范围。由于您的问题不完整,我会问自己以下问题:
- console.log($scope.post)在caseCtrl中向控制台写入什么
- caseCtrl中$routeParams.slug的值是多少
getPost: function(postSlug) {
return $http.get('wp-content/themes/name/ajax/homepage-casestudies.php?slug=' + postSlug).then(function (result) {
return result.data;
})
}
当然,您需要在php文件中添加登录名,以便只获得一个案例。欢迎使用SO。请尽量多描述一些,让你的问题更加突出。避免多余的信息和评论。请阅读有关改进问题的提示。我很抱歉-我将更新我的问题尝试在
中执行console.log(data)
。然后执行函数,看看它是否实际有效。也许需要先解析它?
$http.get('data/' + $scope.filename + '.json').success(function (data) {
$scope.retrievedJson = data;
});
getPost: function(postSlug) {
return $http.get('wp-content/themes/name/ajax/homepage-casestudies.php?slug=' + postSlug).then(function (result) {
return result.data;
})
}