将标题数组链接到其他JSON数据

时间:2016-03-08 21:29:25

标签: javascript angularjs json

并提前感谢。 我有一个文章标题的网页。我的JSON文件采用以下格式:

[
    {
        "title": "title 1",
        "date": "date 1",
        "author": "Jane doe",
        ...etc...
    },
    {
        "title": "title 2",
        "date": "date 2",
        "author": "Jane doe 2",
        ...etc...
    }
]

tableofcontents.html

<div class="row" ng-controller="TableofContentController">
    <div class="medium-12 columns" role="content">
        <div class="medium-9 columns">
            <article>
                <div class="main">
                    <ul>
                        <li ng-repeat="article in articles">
                        <a ui-sref="articles">{{article.title}}</a>
                        </li>
                    </ul>  
                </div>    
            </article>                   
        </div>

我有一个单独的article.html模板,我想将其余的JSON文件加载到。所以我有一个所有标题的列表,如果有人点击&#34;标题1&#34;,它将把它们带到文章模板。但是,如何在点击链接时正确链接所有其他json数据(日期,作者,文章正文等)?我假设功能将在控制器中,但我还没有找到我正在寻找的例子。谢谢!

app.js文件,如果它很重要

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


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

    'use strict';

    $urlRouterProvider.otherwise('/');


    $stateProvider
        // homepage state
        .state('home', {
        url: '/',
        templateUrl: 'templates/home.html'
        })
        // main article page state
        .state('articles', {
        url: '/articles/{{article.title}}',
        controller: 'ArticlesController',
        controllerAs: 'articles',
        templateUrl: 'templates/articles.html'
        })
        // about page state
        .state('about', {
        url: '/about',
        templateUrl: 'templates/about.html'
        })
        // table of contents page state
        .state('content', {
        url: '/content',
        controller: 'TableofContentController',
        controllerAs: 'content',
        templateUrl: 'templates/tableofcontent.html'
        });

}); 

webApp.controller('TableofContentController', function($scope, $http) {
  $http.get('articles.json')
       .then(function(res){
          $scope.articles = res.data;    
        });
});

0 个答案:

没有答案