2016-07-15 59 views
0

这可能很容易,不知道。但我只是通过节点/快递后端完成此操作。 但不太完全如何做到这一点,只与前端和一个json文件,我的数据是。 现在它显示了我所有帖子的列表,但是我想单击一个按钮时获得唯一的帖子:id。从AngularJS的json文件中获取单个帖子的编号

一个简单的posts.json文件:

[{ 
    id: 1, 
    title: 'Simple title1', 
    content: 'Sample content...', 
    permalink: 'simple-title1', 
    author: 'Peter', 
    datePublished: '2012-04-04' 
}, { 
    id: 2, 
    title: 'Simple title2', 
    content: 'Sample content...', 
    permalink: 'simple-title2', 
    author: 'Peter', 
    datePublished: '2012-05-04' 
}, { 
    id: 3, 
    title: 'Simple title3', 
    content: 'Sample content...', 
    permalink: 'simple-title3', 
     author: 'Thomas', 
    datePublished: '2012-06-04' 
}] 

这里是我的app.js文件:

var routerApp = angular.module('routerApp', ['ui.router']); 

routerApp.config(function($stateProvider, $urlRouterProvider) { 

$urlRouterProvider.otherwise('/home'); 

$stateProvider 




.state('home', { 
    url: '/posts', 
    templateUrl: 'partial-home.html', 
    controller: function($scope, $http){ 
    $http.get('posts.json') 
    .success(function(data){ 
    $scope.posts = data; 
    }); 
    } 
}) 

      .state('viewdetails',{ 
    url:'/posts/:id/:permalink', 
    templateUrl: 'view_details.html', 
    controller: function($scope, $http){ 
    $http.get('source.json') 
    //get a single post here??? 
    } } 

有的在我的部分,home.html的代码

<div class="row" style="margin-left:50px"> 
    <!--row left--> 
    <div class="col-xs-8 col-sm-4 col-md-3 col-lg-5 box-background" ng-repeat="post in posts"> 
    <!--column 1 left--> 
    <div class="col-md-4 img-space"> 
     <img class="img-circle" alt="Bootstrap Image Preview" src="{{prov.picture}}" /></div> 
    <div class="col-md-4"> 
     <h4>{{post.author}}</h4> 
     <p class="text-grey"> 
     {{post.content}} 
     </p> 
    </div> 
    <a ui-sref="posts/:id" class="btn btn-primary btn-color" style="width:100%">View details</a> 
    </div> 
    <!--end column 1 left--> 
</div> 
<!--end row left--> 

我知道这不是一个mvc模式,但只是想做到这一点很简单。 以前只有用猫鼬,节点后端做过这个。所以希望有一些想法帮助。 谢谢。

回答

0

您将使用$ routeParams从您的路线获取id,然后将其用作$ http请求url中的变量。 时,取相同sourse.json文件,你可以使用该ID来唯一正确的职位分配给您的视图变量

https://docs.angularjs.org/api/ngRoute/service/ $ routeParams